`

plsql事务处理(二)

阅读更多

自治事务

看看在oracle中一个事务调用另外一个事务的情况:

事务A

Begin

    DML;

    事务B

End;

事务B

Begin

    Commit;

End;

事务A对事务B中的操作可见,如果在事务Bcommit,会将事务A中的DMLcommit掉,自治事务就是来解决这样的问题的,使得事务B中的提交或回滚对A不可见。

使用一个例子来对比一下自治事务和普通的事务的不同:

SQL> create or replace procedure pro_test_tran is

 2 begin

 3  commit;

 4 end;

 5 /

 

Procedure created

 

使用pragma autonomous_transaction;来标识使用自治事务

SQL>

SQL> create or replace procedure pro_test_auto is

 2   pragma autonomous_transaction;

 3 begin

 4   commit;

 5 end;

 6 /

 

Procedure created

 

SQL> select a.sal from scott.emp a where a.empno = 7369;

 

        SAL

------------

     812.60

 

SQL> begin

  2   update scott.emp a set a.sal = a.sal + .01 where a.empno = 7369;

 3   pro_test_auto;

 4   rollback;

 5 end;

 6 /

 

PL/SQL procedure successfully completed

 

调用了pro_test_auto以后并没有将父事务中的dml提交掉:

SQL> select a.sal from scott.emp a where a.empno = 7369;

 

        SAL

------------

     812.60

 

SQL>

 

SQL> begin

 2   update scott.emp a set a.sal = a.sal + .01 where a.empno = 7369;

 3   pro_test_tran;

 4   rollback;

 5 end;

 6 /

 

PL/SQL procedure successfully completed

 

调用了pro_test_ tran将父事务中的dml提交掉了:

 

SQL> select a.sal from scott.emp a where a.empno = 7369;

 

        SAL

------------

     812.61

分享到:
评论

相关推荐

    PLSQL安装包:PLSQL Developer 14.rar

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    基础PLSQL语法

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    PLSQL工具:PLSQL Developer,该安装包适合32位的Oracle

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    plsql免安装

    PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。 PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有...

    plsql developer 中文使用手册 最新 7.0 plsql developer 使用手册(中文)

    6.2 结果表格处理..................................................36 6.3 实例模式查询..................................................40 6.4 连接查询.....................................................

    PLSQL+Developer+v8.0.2+附注册机.part2.rar

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    PLSQLDeveloper下载

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    PLSQL Developer v7.rar

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    PLSQL Developer用户指南

    14. 窗口、数据库会话和事务 ..........104 14.1 会话模式 ........104 14.2 运行于多路会话或双路会话模式 104 15. 浏览对象.....105 15.1 使用浏览器 ......105 15.2 浏览器过滤器 ....110 15.3 浏览器文件夹 .......

    plsqldev803(内含注册码)

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    Oracle_PLSQL语言基础

    PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。  . PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持...

    plsql中文使用说明

    6.2 结果表格处理..................................................36 6.3 实例模式查询..................................................40 6.4 连接查询.....................................................

    PLSQL Developer238页中文版使用手册

    6.2结果表格处理 6.3实例模式查询 6.4连接查询 6.5置换变量 6.6更新数据库 6.7查看和编辑XMLTYPE 6.8直接查询导出 6.9保存SQL脚本 6.10创建标准查询 7命令窗口 7.1输入SQL语句和命令 7.2开发命令文件 ...

    plsql的簡易教程(通俗易懂)

    Oracle PL/SQL语言初级教程    PL/SQL是Oracle对标准数据库语言的扩展,Oracle公司...通过本教程的学习,您将初步掌握PL/SQL语言,能够利用PL/SQL语言完成建表、查询、添加、删除数据以及事务处理语句的基本用法。

    PLSQL中文手册(相当全面)

    6.2 结果表格处理..................................................36 6.3 实例模式查询..................................................40 6.4 连接查询.....................................................

    PLSQL+Developer+v8.0.2+附注册机.part1

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    Oracle PLSQL开发基础

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    PLSQL高级编程资料

    第二章 触发器 2.1 触发器的创建 2.2 触发器的管理 2.3 触发器的新功能 2.4 替代触发器 2.5 触发器的局限性 第三章 对象 3.1 对象的定义 3.2 对象的存贮和检索 第四章 调试 4.1 编写 DEBUG 程序包(例程) 4.2 调用...

    PLSQL_Developer7.0中文帮助手册

    14. 窗口、数据库会话和事务.104 14.1 会话模式.............104 14.2 运行于多路会话或双路会话模式....104 15. 浏览对象.............................105 15.1 使用浏览器...........105 15.2 浏览器过滤器.........

    Oracle PLSQL

    PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。 通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。

Global site tag (gtag.js) - Google Analytics