0

我正在尝试创建一个 Oracle 触发器,该触发器将在某个表的每个插入或更新的记录上更新entry_stamp列(type= )。DATE这是我的脚本:

CREATE OR REPLACE TRIGGER mytable_entry_stamp 
AFTER INSERT OR UPDATE ON mytable FOR EACH ROW
BEGIN :NEW.entry_stamp := SYSDATE; END;

我收到此错误:

ORA-04084: 无法更改此触发器类型的新值

4

1 回答 1

2

来自Oracle/PLSQL:更新后触发器

  • 您不能更新 :NEW 值。
  • 您不能更新 :OLD 值。

AFTER与 MSSQL 不同,Oracle 似乎无法更新触发器内的记录。因此它保留用于记录/审计目的,即可以在另一个表中插入或更新记录。在我将此触发器转换为 后BEFORE,它完美地工作。

于 2012-12-13T20:27:18.127 回答