none
TRIGGER IN ORACLE RRS feed

  • Discussione generale

  • Buonasera,

    mi aiutate per favore a correggere questo trigger:

    devo realizzare un trigger che all’atto della cancellazione di un ramo aziendale dalla tabelle RAMI modifica il campo codRamo della tabella  IMPIEGATI settando il relativo a valore a  0.

    Io l'ho impostato così:

    CREATE OR REPLACE TRIGGER DELETE_RAMO
    BEFORE DELETE ON RAMI
    FOR EACH ROW
    BEGIN
    UPDATE IMPIEGATI SET CODRAMO=0
    WHERE CODRAMO=:OLD.CODICE;
    END;

    però provandolo:

    DELETE FROM RAMI
    WHERE CODICE=1;

    mi esce questo errore:

    Report error -
    ORA-04091: table SYSTEM.IMPIEGATI is mutating, trigger/function may not see it
    ORA-06512: at "SYSTEM.DELETE_RAMO", line 2
    ORA-04088: error during execution of trigger 'SYSTEM.DELETE_RAMO'

    Grazie in anticipo


    sabato 17 dicembre 2016 18:13

Tutte le risposte