Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [ORACLE] Inserire un trigger after insert

    Ciao a tutti,
    spero che qualcuno mi possa aiutare a creare un trigger (after insert) su una tabella Oracle.
    La condizione è questa:

    SE campo1 = 'x' AND campo2 is NULL AND campo3 is NOT NULL

    THEN campo2 = campo3


    ho provato a creare il trigger in questo modo:

    CREATE OR REPLACE TRIGGER TR_oper
    AFTER INSERT ON tabella1 FOR EACH ROW
    BEGIN

    IF :NEW.campo1= 'x'
    AND :NEW.campo2 IS NULL AND :NEW.campo3 IS NOT NULL
    THEN UPDATE tabella1 SET campo2 = campo3;
    END IF;


    END;

    la compilazione viene effettuata ma se provo ad effettuare una insert nella tabella mi da errore:

    ORA-04091: table tabella1 is mutating, trigger/function may not see it
    ORA-06512: at "campo3", line 5
    ORA-04088: error during execution of trigger 'tr_oper'
    ORA-06512: at line 1

    dove sbaglio?

  2. #2

    risolto

    Ho risolto applicando la logica con il before insert.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.