我正在尝试在我的Oracle数据库中设置一个触发器,每次在Table1
中更新记录时都会触发该触发器。当触发器执行时(在?之后),我想复制/插入记录中已更新为:old
的所有字段的HistoryTable
记录值。两个表之间的唯一区别是包含[Table1_ID]
字段以引用该特定Table1.[ID]
的所有历史记录:
[Table1] - [ID][col1][col2][col3][etc.]
[HistoryTable] - [ID][Table1_ID][col1][col2][col3][etc.]
有谁知道如何设置它?我试图编写如下所示的脚本,但到目前为止没有运气,并且还没有想出如何在TOAD
gui中准确指定动作。我已经有了Sequence/Trigger
对,因此每次插入新记录时,[ID]
的{{1}}字段都会自动递增。
HistoryTable
输出窗口出现CREATE OR REPLACE TRIGGER SCHEMA1.ITEM_UPDATED_TRG
AFTER UPDATE ON TABLE1
FOR EACH ROW
DECLARE
BEGIN
INSERT INTO SCHEMA1.HISTORYTABLE (Table1_ID, col1, col2, col3, etc.)
VALUES (:OLD.ID, :OLD.col1, :OLD.col2, :OLD.col3, :OLD.etc);
END;
ShOW ERRORS;
...?