bonjour,
je souhaite écrire un trigger dans une table, dont la clé est (LOGIN, CODE) , concernant un champ donné (FLAG)
FLAG = 0 ou 1

si on met à FLAG à 1, tous les autres enregistrements vont avoir FLAG = 0..
comment je peux écrire ça..??

j'ai fait ceci mais ça me génère une erreur comme quoi il est déjà en train de bidouiller dans la table..(MyTable en mutation.. le déclencheur ne peut la voir..)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
CREATE OR REPLACE TRIGGER TRIG_MyTable
BEFORE INSERT OR UPDATE
ON MyTable
FOR EACH ROW
 
BEGIN
	 IF UPDATING THEN
	    IF :New.FLAG = 1 THEN
		UPDATE MyTable
		SET FLAG= 0
		WHERE Login = :NEW.Login
		AND Code <> :NEW.Code; 
                 END IF;
	 END IF;
END;
/