<< Click to Display Table of Contents >> Navigation: Informations techniques > Structure de la Base de Données ABC8 > Procédures stockées |
Procédure stockée GETNEWID
Description.
Cette procédure stockée est appelée chaque fois que l’application Radio-Assist doit insérer un nouvel élément dans la base de données (création d’un identifiant unique ID_ITEM).
Détail
CREATE PROCEDURE SYSADM.GETNEWID (@CodeRetour int OUTPUT,@CodeTable int)
AS DECLARE @Value float
SELECT @CodeRetour = -2
DECLARE cur_acces SCROLL CURSOR FOR SELECT NUM_VALUE FROM SYSADM.T_VAR WHERE ID_VAR=@CodeTable FOR UPDATE OF NUM_VALUE
open cur_acces
FETCH NEXT FROM cur_acces INTO @Value
if (@@FETCH_STATUS=0)
BEGIN
SELECT @Value= @Value + 1
UPDATE SYSADM.T_VAR SET NUM_VALUE = @Value WHERE CURRENT OF cur_acces
END
ELSE
BEGIN
SELECT @Value = 1
INSERT INTO SYSADM.T_VAR (ID_VAR,NUM_VALUE) VALUES (@CodeTable,@Value)
END
SELECT @CodeRetour = CONVERT(int,@Value)
CLOSE cur_acces
DEALLOCATE cur_acces
Cas particulier des simultanés.
La création des identifiants (ID_ITEM) pour les simultanés est définie de la manière suivante :
Année d'exécution
Numéro du jour dans l'année
Heure d'exécution
Minute d'exécution
Seconde d'exécution
Formule de calcul utilisée par NA-DEC :
lNewID = (pRecChannel->m_dtStartRecord.GetSecond()/30) + (pRecChannel->m_dtStartRecord.GetMinute() * 2) + (pRecChannel->m_dtStartRecord.GetHour() * 120);
lNewID += pRecChannel->m_dtStartRecord.GetDayOfYear() * 2880L;
lNewID += ((pRecChannel->m_dtStartRecord.GetYear() - 1997) % 9) * 2880L*366L;
lNewID += ((pRecChannel->m_lIDChannel % 190)+1) * 10000000L;
Attention : Le signe "%" veut dire "modulo"'. C'est à dire le reste de la division entière.
Procédure Stockée CLEANBASE
Description.
Cette procédure stockée permet de tronquer et libérer l’espace non utilisé du journal de transaction des bases de données ABC8 et TEMPDB.
Cette procédure stockée n’est exécutée périodiquement que si celle-ci est planifiée dans un travail dans SQLServer (voir procédure d’installation de ABC8 avec SQLServer 2000).
Détail.
CREATE PROCEDURE cleanbase AS
dump transaction tempdb with truncate_only
dump transaction ABC8 with truncate_only
DBCC CheckDB (ABC8)
DBCC CheckDB (tempdb)
dump transaction tempdb with truncate_only
dump transaction ABC8 with truncate_only
GO
Procédure Stockée DeleteRunInLog
Description.
Cette procédure stockée permet de supprimer un pas ou un écran d’une conduite.
Cette procédure stockée est exécutée par Federall et GridEditor.
Procédure Stockée InsertItemInLog
Description.
Cette procédure stockée permet d’insérer un pas contenant un item dans une conduite.
Cette procédure stockée est exécutée par Federall et GridEditor.
Procédure Stockée InsertLogInLog
Description.
Cette procédure stockée permet d’insérer un modèle dans une conduite
Cette procédure stockée est exécutéepar Federall et GridEditor.
Procédure Stockée InsertNewRun
Description.
Cette procédure stockée permet de créer un pas vide dans une conduite.
Cette procédure stockée est exécutée par Federall et GridEditor.
Procédure Stockée InsertNewScreen
Description.
Cette procédure stockée permet de créer un nouvel écran avec un pas vide dans une conduite
Cette procédure stockée est exécutée par Federall et GridEditor.
Procédure Stockée InsertRunInLog
Description.
Cette procédure stockée permet de créer un pas dans une conduite à partir d’un autre pas. (copier/coller par exemple)
Cette procédure stockée est exécutée par Federall et GridEditor.