Bonjour,
J'ai examiné le code de deux type de triggers: un de type statement et un de type ROW LEVEL.
Je ne parviens pas à voir en quoi ils sont si différents.
voici un exemple de trigger
même si la clause FOR EACH ROW n'est pas spécifiée, on est obligé de considérer qu'un contrôle de chaque ligne de la table emp jour sera fait, pour vérifier que la condition émise dans le begin est bien respectée et si ce n'est pas le cas , un message d'erreur sera émis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE OR REPLACE trigger secure_emp BEFORE UPDATE on EMP BEGIN IF (to_char(sysdate, 'DY') IN ( 'SAT', 'SUN')) OR ( TO_CHAR(sysdate, 'HH24') NOT BETWEEN '8' AND '18') THEN RAISE_APPICATION_ERROR (-20504, 'you may only update EMP during office hours '); END if; END secure_emp;
Je vous remercie beaucoup de bien vouloir m'expliquer la réelle différence ente des deux type de triggers.
Bien cordialement.
new_wave
Partager