知识大全 小议Oracle11g的自治事务(二)

Posted 过程

篇首语:千金一刻莫空度,老大无成空自伤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 小议Oracle11g的自治事务(二)相关的知识,希望对你有一定的参考价值。

小议Oracle11g的自治事务(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  自治事务实现的功能是自治事务的提交或回滚不影响当前的事务 同时自治事务也是看不到当前会话所做的未提交的修改的  

   SQL> TRUNCATE TABLE T_AUTO_TRANS;

  表被截断

   SQL> CREATE OR REPLACE PROCEDURE P_TEST AS     BEGIN     INSERT INTO T_AUTO_TRANS VALUES (   TEST );     FOR I IN (SELECT COUNT(*) CNT FROM T_AUTO_TRANS) LOOP     DBMS_OUTPUT PUT_LINE( P_TEST:  || I CNT);     END LOOP;     END;     /

  过程已创建  

   SQL> CREATE OR REPLACE PROCEDURE P_TEST_AUTO AS     PRAGMA AUTONOMOUS_TRANSACTION;     BEGIN     INSERT INTO T_AUTO_TRANS VALUES (   TEST );     FOR I IN (SELECT COUNT(*) CNT FROM T_AUTO_TRANS) LOOP     DBMS_OUTPUT PUT_LINE( P_TEST_AUTO:  || I CNT);     END LOOP;     MIT;     END;     /

  过程已创建

   SQL> INSERT INTO T_AUTO_TRANS VALUES (   TEST );

  已创建 行  

   SQL> SET SERVEROUT ON   SQL> EXEC P_TEST   P_TEST:

  PL/SQL 过程已成功完成

   SQL> EXEC P_TEST_AUTO   P_TEST_AUTO:

  PL/SQL 过程已成功完成

  可以看到 对于自治事务是看不到当前会话所作的未提交的修改的

   SQL> EXEC P_TEST   P_TEST:

  PL/SQL 过程已成功完成

  而对于当前会话 由于自治事务的操作已经提交 因此之后的查询是可以看到自治事务所进行的修改的

  自治事务看不到当前会话的修改 那么自治事务调用的过程是否能看到自治事务的修改呢  

   SQL> TRUNCATE TABLE T_AUTO_TRANS;

  表被截断

   SQL> CREATE OR REPLACE PROCEDURE P_AUTO_TRANS AS     PRAGMA AUTONOMOUS_TRANSACTION;     BEGIN     INSERT INTO T_AUTO_TRANS VALUES (   TEST );     INSERT INTO T_AUTO_TRANS VALUES (   TEST );     FOR I IN (SELECT COUNT(*) CNT FROM T_AUTO_TRANS) LOOP     DBMS_OUTPUT PUT_LINE( P_AUTO_TRANS:  || I CNT);     END LOOP;     P_TEST;     P_TEST_AUTO;     MIT;     END;

  过程已创建   

   SQL> INSERT INTO T_AUTO_TRANS VALUES (   TEST );

  已创建 行

   SQL> EXEC P_AUTO_TRANS   P_AUTO_TRANS:   P_TEST:   P_TEST_AUTO:   PL/SQL 

  过程已成功完成

  建立一个自治事务 分别调用一个普通过程和一个声明了自治事务的过程 结果可以看到 自治事务调用普通过程 可以看到自治事务所进行的修改 而对于自治事务调用的自治事务过程 是看不到自治事务所进行的修改的

cha138/Article/program/Oracle/201311/18661

相关参考

知识大全 小议Oracle11g的自治事务(三)

小议Oracle11g的自治事务(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  上一篇文章

知识大全 小议Oracle11g的自治事务(一)

小议Oracle11g的自治事务(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这两天看了

知识大全 小议Oracle11g的自治事务(四)

小议Oracle11g的自治事务(四)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!上一篇文章描述

知识大全 小议Oracle外键约束修改行为(一)

小议Oracle外键约束修改行为(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracl

知识大全 Oracle内存数据库11g和高速缓存11g上市

Oracle内存数据库11g和高速缓存11g上市  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!北京

知识大全 Oracle9i数据库WITH查询语法小议

Oracle9i数据库WITH查询语法小议  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ora

知识大全 Oracle11g默认目录结构

Oracle11g默认目录结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracleg主流

知识大全 Oracle 11g安装图文攻略

Oracle11g安装图文攻略  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  呵呵花了一个多小时

知识大全 Oracle11g备份恢复功能增强

Oracle11g备份恢复功能增强  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracleg

知识大全 oracle11G空表默认不导出解决

oracle11G空表默认不导出解决  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ORACLE