Можете да използвате show errors
след като видите compiled with warnings
, или потърсете user_errors
прегледайте, за да видите какво не е наред по-късно.
Едно очевидно нещо е, че не сте поставили префикс old
препратка с двоеточие:
CREATE or REPLACE TRIGGER BeforeUpdateReport
BEFORE
UPDATE ON REPORT
FOR EACH ROW
Begin
INSERT INTO reportUpdate
Values(:old.ID,sysdate);
END;
/
Също така е по-добре да посочите целевите полета на таблицата в insert
изявление:
INSERT INTO reportUpdate (report_id, updatedate)
Values(:old.ID,sysdate);
Но имате update_date
дефиниран във вашия скрипт за създаване на таблица като number(32)
, което няма смисъл. Както посочи @realspirituals, трябва да бъде:
CREATE TABLE reportUpdate (report_id number, updatedate date);