0

我这里有问题。

数据库:甲骨文 9i

我想UPDATE在我的表上执行脚本后保存数据更改,在该日志中我想将旧值与新值进行比较。

我怎样才能做到这一点。

谢谢你帮助我:)

4

3 回答 3

2

编写简单的触发器,通过使用 :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;
于 2012-11-01T07:14:37.560 回答
0

您可以在更新后执行触发器,并且可以为所需的每个字段使用 :old 和 :new 值。

于 2012-11-01T07:15:25.237 回答
0

如果您只需要更新的值,则可以使用 RETURNING 子句。

UPDATE <table> SET (c1) = (v1), (c2) = (v2), (cn) = (vn) WHERE <condition> RETURNING <expression> INTO <variables>

http://psoug.org/definition/RETURNING.htm

于 2015-07-31T12:13:27.313 回答