Puoi utilizzare show errors
dopo aver visualizzato compiled with warnings
oppure esegui una query su user_errors
visualizza per vedere cosa c'è che non va in seguito.
Una cosa ovvia è che non hai anteposto il old
riferimento con due punti:
CREATE or REPLACE TRIGGER BeforeUpdateReport
BEFORE
UPDATE ON REPORT
FOR EACH ROW
Begin
INSERT INTO reportUpdate
Values(:old.ID,sysdate);
END;
/
È anche meglio specificare i campi della tabella di destinazione in insert
dichiarazione:
INSERT INTO reportUpdate (report_id, updatedate)
Values(:old.ID,sysdate);
Ma hai update_date
definito nello script di creazione della tabella come number(32)
, che non ha senso. Come ha sottolineato @realspiritualis, dovrebbe essere:
CREATE TABLE reportUpdate (report_id number, updatedate date);