Oracle 一些触发器自治事务相关错误
Oracle 一些触发器自治事务相关错误
table XXX is mutating,trigger/function may not see it
在触发器中调用的函数或者语句有查询当前表的操作,比如触发器中调用的函数中有查询自身的数据的操作,使用自治事务即可解决这个问题
active autonomous transaction detected and rolled back
使用自治事务没有显式提交或回滚,应该在函数最后加个显示提交的commit或者rollback
例如:
create or replace procedure XXX(X Integer) as
pragma autonomous_transaction;
begin
if X > 0 then
insert into XttXttX (a) (select X from dual);
commit;
end if;
end;
您能读到这儿,我呢是发自真心的感谢您,若要转载,还望请您带上链接