• 啥是自治事务
    • 子程序中进行独立的子事务处理,且在此事务处理过程中执行COMMITROLLBACK而不影响整体主事务,那么就需要通过自治事务进行控制
    • 流程图:
      • Oracle12c--自治事务(四十四)
    • 自治事务是在主事务上单独开启的独立事务,在自治事务处理期间,主事务会暂时挂起,一直等到自治事务执行COMMITROLLBACK后,才会恢复主事务执行;
  • 语法与示例
    • 在程序中使用自治事务,可在子程序声明部分中输入下列语句:

PRAGMA AUTONOMOUS_TRANSACTION;

  • 示例1:使用自治事务

DECLARE

PROCEDURE dept_insert_proc AS

PRAGMA AUTONOMOUS_TRANSACTION; --自治事务

BEGIN

--此处更新将使用自治事务,主事务将被挂起

INSERT INTO dept(deptno,dname,loc) VALUES (60,'MLDN','北京') ;

COMMIT ; --提交自治事务

END ;

BEGIN

INSERT INTO dept(deptno,dname,loc) VALUES (50,'开发部','天津') ;

dept_insert_proc() ;

ROLLBACK ; --此处为主事务回滚

END ;

/

相关文章:

  • 2021-06-28
  • 2021-12-09
  • 2021-09-20
  • 2021-09-09
  • 2022-02-07
猜你喜欢
  • 2021-07-16
  • 2022-12-23
  • 2021-10-27
  • 2021-08-07
  • 2021-12-29
  • 2021-10-04
  • 2021-11-26
相关资源
相似解决方案