Trigger after update : table mutante
Bonjour,
J'essaye de créer un trigger qui mettrai à jour un champ d'une table suite à la mise à jour de cette dernière.
Je me retrouve logiquement avec une erreur ORA-04091.
Pour contourner le problème j'ai précisé les noms des champs mis à jour et à mettre à jour.
Exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| CREATE OR REPLACE TRIGGER COLLEGE_TR
AFTER UPDATE
OF COMMUNE_INSEE
ON CGEDUCATION.EDUDATA_COLLEGE
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
BEGIN
UPDATE TABLE_COLLEGE
SET CANTON_INSEE = (
SELECT INSEE_CANT
FROM AutreSchéma.Table_COM
WHERE INSEE_COM = :NEW.COMMUNE_INSEE)
WHERE ID_COLLEGE = :OLD.ID_COLLEGE;
END;
/ |
J'ai toujours la même erreur Oracle.
Mais je ne comprends pas pourquoi car mon trigger fonctionne ainsi :
lorsque le code insee de la commune est mis à jour, alors je demande la mise à jour du code insee du champ canton.
En précisant les colonnes je pensais m'en sortir mais non.
Quelqu'un saurait-il me dire pourquoi ça ne fonctionne pas ?
Merci de votre aide.