ORA-04084: cannot change NEW values for this trigger type

文档解释

ORA-04084: cannot change NEW values for this trigger type

Cause: New trigger variables can only be changed in before row insert or update triggers.

Action: Change the trigger type or remove the variable reference.

ORA-04084: cannot change NEW values for this trigger type 错误表明您无法更改为触发器类型定义的NEW值。

官方解释

ORA-04084 错误表明,您试图更改为此触发器类型定义的新值(即,INSERT,UPDATE或DELETE触发器),但不允许做到这一点。更改NEW值会导致可能不稳定的性能,因此,ORACLE不允许改变。

常见案例

案例一:

在数据库表上创建了一个插入触发器,该触发器试图更改INSERT触发器中定义的NEW值,这是不允许的。

正常处理方法及步骤

解决此问题的最佳方法是从触发器中删除所有更改NEW值的语句,并确保只有在触发器类型定义了时,才能更改NEW值。例如,如果要在INSERT触发器中更改NEW值,请更改触发器类型为“BEFORE INSERT ON”,而不是INSERT触发器。

你可能感兴趣的