Sie können show errors
verwenden nachdem Sie compiled with warnings
sehen , oder fragen Sie die user_errors
ab ansehen, um später zu sehen, was falsch ist.
Eine offensichtliche Sache ist, dass Sie old
nicht vorangestellt haben Referenz mit Doppelpunkt:
CREATE or REPLACE TRIGGER BeforeUpdateReport
BEFORE
UPDATE ON REPORT
FOR EACH ROW
Begin
INSERT INTO reportUpdate
Values(:old.ID,sysdate);
END;
/
Es ist auch besser, die Zieltabellenfelder im insert
anzugeben Aussage:
INSERT INTO reportUpdate (report_id, updatedate)
Values(:old.ID,sysdate);
Aber Sie haben update_date
in Ihrem Tabellenerstellungsskript als number(32)
definiert , was keinen Sinn macht. Wie @realspirituals betonte, sollte es sein:
CREATE TABLE reportUpdate (report_id number, updatedate date);