Oracle自治事务

 定        义:


 Autonomous transactions are independent transactions that can be called from within another transaction.
 à被一个事务调用的事务,但它独立于它的父事务提交或回滚。


 注意事项:


必须在匿名块的最高层或者存储过程、函数、数据包或触发的定义部分中,使用PL/SQL中的PRAGMA AUTONOMOUS_TRANSACTION语句
必须Commit或Rollback自治事务,否则会抛:ORA-06519: active autonomous transaction detected and rolled back。
如果自治事务要访问的资源已经被主事务持有,我们的程序就发生了死锁


 应用场景:


日志机制
在数据库触发器中执行提交和回滚
可重用的应用组件
避免查询时出现突变表触发器错误
在修改这个表的SQL中调用用户自定义函数
重试计数器

原文地址:https://www.cnblogs.com/hugh251325/p/3166628.html