我尝试创建一个触发器,它将遍历已更改行中的所有列,将它们相互比较,然后在每个更改的列的事务历史记录中插入一行({{1} })。
我似乎无法找到有关如何执行此操作的任何文档。我发现很多关于使用游标的行,但不能将它们用于列。
我有这样的事情:
NEW.column != OLD.column
触发器需要在CREATE OR REPLACE TRIGGER ADD_AUDIT_HISTORY AFTER INSERT OR DELETE OR UPDATE ON MY_TABLE
REFERENCING OLD AS o
NEW AS n
FOR EACH ROW MODE DB2SQL
BEGIN
# LOOP THROUGH COLUMNS
IF newColumnValue != oldColumnValue THEN
INSERT INTO AUDIT_HISTORY (columnName, oldValue, newValue) VALUES (columnName newColumnValue, oldColumnValue)
# /LOOP THROUGH COLUMNS
END;
,INSERT
和UPDATE
上工作,所以我知道我可能需要做一些关于哪一个我拉下列的工作。