RAZ GENERATOR dans un trigger
Bonjour,
J'ai une table avec une vingtaine de champs, dont la cle unique est composee de deux de ces champ : DATE et NUM
J'ai un trigger (before input) qui rempli ces deux champs avec DATE=CURRENT DATE et NUM=GEN_ID(num,1)
Mon souci est de remettre le generateur a zero quand la date a changee.
Mais impossible d'utiliser SET GENERATOR dans un trigger ou dans une procedure stockee.
Et malheureusement, pour un souci de performance et d'integrite de la base, j'ai un imperatif : il faut que ce soit le serveur qui gere ceci !
Voici le code avec lequel j'esperais faire ca mais qui ne convient pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| begin
date_entete = CURRENT_DATE;
heure_entete = CURRENT_TIME;
/* GESTION DE L'INCREMENTATION DE NUM_ENTETE AVEC LE GENERATOR GEN_NUM_ENTETE */
/* LE NUMERO D'ENTETE (LE GENERATOR) REPART A 1 CHAQUE NOUVELLE JOURNEE */
select max(num_entete)
from entete_dossier_encours
where entete_dossier_encours.date_entete = date_entete
into i;
if (i is null) then
SET GENERATOR(GEN_NUM_ENTETE,0);
num_entete = GEN_ID(GEN_NUM_ENTETE, 1);
end!! |
Merci d'avance pour l'aide.