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);