Bonjour,
1) J'aimerais, lors de l'insertion d'une ligne dans une table, alimenter la derniere colonne de cette table de type Date, par la CURRENT DATE.
J'ai créé le trigger suivant :
Avec cette requete, la CURRENT DATE est insérée pour toutes les lignes, et non pas celle qui vient d'etre inserée. Comment faire pour que la CURRENT DATE ne soit positionnée que tu la ligne insérée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 --#SET TERMINATOR $ ; CREATE TRIGGER C01P.SDAVID_I AFTER INSERT ON C01P.EMPLOYEE REFERENCING NEW AS N FOR EACH ROW MODE DB2SQL BEGIN ATOMIC UPDATE C01P.EMPLOYEE SET DATECHG = CURRENT DATE ; END $ --#SET TERMINATOR ;
2) Avec le trigger suivant :
A l'update, j'obtiens l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 --#SET TERMINATOR $ ; CREATE TRIGGER C01P.SDAVID_U AFTER UPDATE ON C01P.EMPLOYEE REFERENCING NEW AS N FOR EACH ROW MODE DB2SQL BEGIN ATOMIC UPDATE C01P.EMPLOYEE SET DATECHG = CURRENT DATE ; END $ --#SET TERMINATOR ;
Ou se cache l'erreur ?DSNT408I SQLCODE = -724, ERROR: THE ACTIVATION OF THE TRIGGER OBJECT SDAVID_U WOULD EXCEED THE MAXIMUM LEVEL OF INDIRECT SQL CASCADING
Merci d'avance
Partager