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