21、oracle报ORA-04091发生了变化, 触发器函数不能读它
21、oracle报ORA-04091发生了变化, 触发器函数不能读它
在对某表进行更新的时候,调用了一个函数,函数中又使用该表进行读的操作,会导致读取到错误的数据。
所以在函数中进行事务的锁定。
解决方案:在begin之前增加pragma autonomous_transaction;,在end之前增加commit;
funcation xxx_test()...
pragma autonomous_transaction;
begin
...
...
return Result;
commit;
end;

浙公网安备 33010602011771号