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