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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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 ?