我这里有问题。
数据库:甲骨文 9i
我想UPDATE
在我的表上执行脚本后保存数据更改,在该日志中我想将旧值与新值进行比较。
我怎样才能做到这一点。
谢谢你帮助我:)
编写简单的触发器,通过使用 :OLD 和 :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 和 :new 值。
如果您只需要更新的值,则可以使用 RETURNING 子句。
像
UPDATE <table> SET (c1) = (v1), (c2) = (v2), (cn) = (vn)
WHERE <condition>
RETURNING <expression> INTO <variables>