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


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;
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.

Je vous remercie beaucoup de bien vouloir m'expliquer la réelle différence ente des deux type de triggers.

Bien cordialement.

new_wave