Oracle自治事务
一般在创建存储过程的时候都会加上:
PRAGMA AUTONOMOUS_TRANSACTION
使用场景:
1.在存储过程中执行多个操作时,可以使用自治事务来确保每个操作都能正确提交或回滚。
2.当存储过程需要执行长时间的操作时,可以使用自治事务来确保该操作不会被其他操作阻塞。
而不使用也许会导致以下问题:
1.操作失败:假如各个操作有数据依赖关系,不使用自治事务,当某个操作失败回滚,可能会导致其他操作也失败回滚。
2.数据不一致:有多个用户同时读写数据时,造成数据不一致的显示。
举例:
CREATE OR REPLACE PROCEDURE P_TEST(I_DATE VARCHAR2,
O_NAME OUT VARCHAR2) IS
PRAGMA AUTONOMOUS_TRANSACTION;
将存储过程执行中所有的操作放在一个独立的事务中进行,如果发生异常或错误,整个事务都将回滚,从而保证数据的一致性和完整性。
关于存储过程更多的使用请见: