摘要:
在执行一个有读写的函数调用的sql查询时,报错:ORA-14551: cannot perform a DML operation inside a query如图:经查,对数据库有写操作(INSERT、UPDATE、DELETE、CREATE、ALTER、COMMIT)的函数,是无法简单的用SQL来调用的.使用"自主事物",可以解决这个问题.其实"自主事物"的功能,主要是解决回滚时,标记了PRAGMAAUTONOMOUS_TRANSACTION;的代码块不受外面调用的事物作用.在解决触发器更新不成功时,如果按默认,记录日志的也将回滚,用该方法强制记录日 阅读全文