自治事物:被一个事务调用的事务,但它独立于它的父事务提交或回滚。
语法为pragma autonomous_transaction。
用于四种情况
1 、如果 PL/SQL 块是匿名的,那么该匿名 PL/SQL 块必须是一个顶层块。
2 、如果 PL/SQL 块不是匿名的,那么它必须作为包或存储过程序单元一部分的一个过程或函数。当在包中定义自治事务时,只有包中具体的函数或过程才能被指定为自治的的。
3 、 PL/SQL 块也可以是存储对象类型的一个方法
4 、 PL/SQL 块也可以是一个数据库触发器
COMMIT / ROLLBACK 都是用在执行 DML语句(INSERT / DELETE / UPDATE / SELECT )之后的。DML 语句,执行完之后,处理的数据,都会放在回滚段中(除了 SELECT 语句),等待用户进行提交(COMMIT)或者回滚 (ROLLBACK),当用户执行 COMMIT / ROLLBACK后,放在回滚段中的数据就会被删除。