Oracle
 sql >> Base de données >  >> RDS >> Oracle

Erreur de déclencheur SQL - déclencheur non valide

Vous pouvez utiliser show errors après avoir vu compiled with warnings , ou interrogez les user_errors vue pour voir ce qui ne va pas plus tard.

Une chose évidente est que vous n'avez pas préfixé l'old référence avec deux-points :

CREATE or REPLACE TRIGGER BeforeUpdateReport 
BEFORE 
UPDATE ON REPORT 
FOR EACH ROW 
Begin 
   INSERT INTO reportUpdate 
   Values(:old.ID,sysdate); 
END;
/

Il est également préférable de spécifier les champs de la table cible dans le insert déclaration :

   INSERT INTO reportUpdate (report_id, updatedate)
   Values(:old.ID,sysdate); 

Mais vous avez update_date défini dans votre script de création de table comme number(32) , ce qui n'a pas de sens. Comme @realspirituals l'a souligné, cela devrait être :

CREATE TABLE reportUpdate (report_id number, updatedate date);