PRAGMA AUTONOMOUS_TRANSACTION自治事务

原创 2006年06月10日 17:47:00

PRAGMA AUTONOMOUS_TRANSACTION

当前的存储过程作为已有事务的子事务运行,子事务的commit,rollback操作不影响父事务的状态

可以用于

(1)匿名块

(2)触发器

(3)存储过程

 如下:--------------------------------------------------------------------
procedure addRowAutonomous
(
  pID         in TLOG.id%type,
  pLDate      in TLOG.ldate%type,
  pLHSECS     in TLOG.lhsecs%type,
  pLLEVEL     in TLOG.llevel%type,
  pLSECTION   in TLOG.lsection%type,
  pLUSER      in TLOG.luser%type,
  pLTEXTE     in TLOG.ltexte%type
)
is
PRAGMA AUTONOMOUS_TRANSACTION;
begin
 addRow
  (
   pID         => pID,
   pLDate      => pLDate,
   pLHSECS     => pLHSECS,
   pLLEVEL     => pLLEVEL,
   pLSECTION   => pLSECTION,
   pLUSER      => pLUSER,
   pLTEXTE     => pLTEXTE
  );
  commit;
  exception when others then
      PLOG.ERROR;
      rollback;
      raise;
end;

在程序中,要注意一定要把事务控制好,不要有遗漏的地方,否则会有ORA-06519

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Oracle中的自治事务(一)

♪  事务        数据库事务是一种单元操作,要么是全部操作都成功,要么全部失败。在Oracle中,一个事务是从执行第一个数据管理语言(DML)语句开始,直到执行一个COMMIT语句,提交保存这...
  • YSC1123
  • YSC1123
  • 2016年02月23日 11:11
  • 1762

关于自治事务解决触发器导致"ORA-04091:触发器/函数不能读它"不可行的验证

经常会有人提出这样的问题:“有一个这样的问题,有一个表A有 a,b,c,d四个字段,修改一条记录d的值为2的倍数,希望把该记录插入相同结构的表B中。并删除A表的这条记录。” 相关SQL: --一张...
  • ziwen00
  • ziwen00
  • 2013年02月06日 15:26
  • 3570

oracle自治事务

1、什么是Oracle自治事务   在官方文档中,是这样的定义的“Autonomous transactions are independent transactions that can be ...
  • li19236
  • li19236
  • 2015年04月27日 18:51
  • 282

自治事务和变异表的行级触发器部分问题

最近公司在做应用集成的权限集成部分,由于是三家开发商联合开发,所以各厂商之间很多数据的交互,全量,增量,对于好久不写触发器的我,犹如晴天霹雳......今天在写的过程中,遇到了点小麻烦,百度后发现是o...
  • weixin_36631731
  • weixin_36631731
  • 2016年11月06日 22:49
  • 126

Oracle自治事务实例讲解

今天正好由于项目上的特殊的需求,要在trigger执行的最后抛出异常,但是又想记录操作日志到数据库表中。google之后,看到可以使用自治事务,解决上述问题。 AD:【线下活动】三大新锐HTML 5...
  • xiaodoudou123456
  • xiaodoudou123456
  • 2015年11月02日 15:57
  • 164

自治事务和变异表的行级触发器部分问题

最近公司在做应用集成的权限集成部分,由于三家开发商联合开发,所以各厂商之间很多数据的交互,全量,增量。对于好久不写触发器的我,兼职晴天霹雳...在写的过程中,遇到了一些小问题,所以记录下来。 crea...
  • weixin_36642826
  • weixin_36642826
  • 2016年11月07日 23:43
  • 365

并发控制与事务隔离

并发控制(Concurrency control) 并发控制描述了数据库处理隔离以保证数据正确性的机制。为了保证并行事务执行的准确执行数据库和存储引擎在设计的时候着重强调了这一点。典型的事务相关机制...
  • whycold
  • whycold
  • 2014年03月23日 17:21
  • 1191

Oracle中的自治事务(二)

上一篇博客中(http://blog.csdn.net/ysc1123/article/details/50721592)我们对Oracle的情况进行了基本了解,今天小编就用实例说话,让大家对自治事务...
  • YSC1123
  • YSC1123
  • 2016年02月29日 09:48
  • 862

oracle 自治事务

oracle 自治事务可以使事务相对于父事务独立。利用自治事务,可以挂起当前执行的事务,开始一个新事务,完成一些动作,然后提交或回滚,但是这些都不影响当前所执行事务的状态。自治事务提供了一种用pl/s...
  • hanfeng_1010
  • hanfeng_1010
  • 2013年08月21日 23:17
  • 565

了解oracle自治事务

1、什么是Oracle自治事务   在官方文档中,是这样的定义的“Autonomous transactions are independent transactions that can b...
  • anyqu
  • anyqu
  • 2014年06月04日 09:55
  • 326
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PRAGMA AUTONOMOUS_TRANSACTION自治事务
举报原因:
原因补充:

(最多只允许输入30个字)