Możesz użyć show errors
po zobaczeniu compiled with warnings
lub zapytaj user_errors
Zobacz, co jest nie tak później.
Jedną z oczywistych rzeczy jest to, że nie dodałeś przedrostka old
odwołanie z dwukropkiem:
CREATE or REPLACE TRIGGER BeforeUpdateReport
BEFORE
UPDATE ON REPORT
FOR EACH ROW
Begin
INSERT INTO reportUpdate
Values(:old.ID,sysdate);
END;
/
Lepiej jest również określić pola tabeli docelowej w insert
oświadczenie:
INSERT INTO reportUpdate (report_id, updatedate)
Values(:old.ID,sysdate);
Ale masz update_date
zdefiniowany w skrypcie tworzenia tabeli jako number(32)
, co nie ma sensu. Jak wskazał @realspirituals, powinno to być:
CREATE TABLE reportUpdate (report_id number, updatedate date);