[TRIGGER] mise à jour d'un champ de la ligne updatée
Bonjour,
ça fait un baille que je n'ai ni fait de trigger ni de pl/SQL et j'ai un petit souci.
En gros, j'ai une table Document avec :
id VARCHAR2
est_supprime SMALLINT
date_suppression DATE
Je veux un trigger qui se déclenche lors de la mise à jour du champ est_supprime (valeur passe de 0 à 1) et qui mette à jour le champ date_suppression correspondant avec la date courante.
J'ai donc écrit ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11
| CREATE OR REPLACE TRIGGER MajSuppressionDoc
BEFORE UPDATE OF est_supprime
ON DOCUMENT
BEGIN
UPDATE DOCUMENT
SET new.date_suppression = TO_DATE(SYSDATE,'yyyy-mm-dd')
WHERE :OLD.est_supprime = 0 AND :NEW.est_supprime = 1;
END;
/ |
j'obtiens comme erreur :
Citation:
ORA-04082: NEW or OLD references not allowed in table level triggers
Donc, je sens bien que mon code n'a pas l'air tip top mais voilà, je bloque.
any idea ?