我在这里有问题。
DB:Oracle 9i
我想在表上执行UPDATE
脚本后保存数据更改,在该日志中,我想将旧值与新值进行比较。
我该怎么做。
感谢您的帮助:)
编写简单触发器,用:old and:new您可以获得表的新值和旧值的值
create or replace
trigger tg_name
after UPDATE ON table_name
for each row
BEGIN
IF :NEW.column1 = :OLD.column1 THEN
-- any statement
END IF;
-- you can log the old and new value by inserting into log table's too..
END;
您可以在更新后进行触发器,您可以使用:old and:您想要的每个字段的新值。
以防万一,如果仅需要更新的值,则可以使用返回子句。
喜欢
UPDATE <table> SET (c1) = (v1), (c2) = (v2), (cn) = (vn)
WHERE <condition>
RETURNING <expression> INTO <variables>
http://psoug.org/definition/returning.htm