问题描述
当我尝试在数据库中插入多行时出现以下错误。但是,对于同一触发器,单个实体对象的数据已保存。
QL Error: 4091,sqlState: 42000
2020-08-12 13:53:54,634 INFO [STDOUT] 13:53:54,634 ERROR [JDBCExceptionReporter] ORA-04091: table STUDENT is mutating,trigger/function may not see it
ORA-06512: at "STUDENT_VERSION_UPDATE",line 2
ORA-04088: error during execution of trigger 'STUDENT_VERSION_UPDATE'
有人通过传递多个实体对象以插入数据库而不更改现有触发器时,可以帮助我如何解决此问题。
我在下面附加了Trigeer代码:
create or replace TRIGGER STUDENT_VERSION_UPDATE
BEFORE INSERT ON STUDENT
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
BEGIN
UPDATE STUDENT SET IS_NEW_STUDENT = 'N' where ID <> :new.ID and IS_NEW_STUDENT = 'Y';
END;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)