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 :
Merci d'avance pour l'aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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!!
Partager