有没有办法在当前更改之前和提交更改之前获取特定表中的先前值,并且在备份表中没有存储数据。
也许这样会更清楚:
答案 0 :(得分:0)
根据您的交易设计方式,您可以将逻辑置于触发器中。触发器可以访问旧值和新值。有关详细信息,请参阅Oracle Documentation(:old和:new)。
CREATE OR REPLACE TRIGGER test_trigger
BEFORE DELETE OR UPDATE ON test_table
FOR EACH ROW
BEGIN
INSERT INTO backup_table (col1, col2) VALUES (:old.col1, :old.col2);
END;
答案 1 :(得分:0)
RETURNING
上的 The UPDATE
条款应该可以为您执行此操作。不幸的是,我不知道用于引用之前值的Oracle语法(在PostgreSQL中这将是OLD.column_name
),但文档使它听起来好像您的需求得到支持。