日期:2014-05-16  浏览次数:20466 次

Oracle 嵌套事务与自治事务

一. 概念?
1. 嵌套事务(Nested Transaction):?
指在一个Parent事务中嵌套的一个或多个Sub Transaction.并且主事务与其相互影响,这种事务就称为嵌套事务。以Commit作为事务的结束。?
2. 自治事务(Autonomous Transaction):?
指在function,procedure等subprograms中对事务进行自治管理,当在别的pl/sql block里去调用这些subprograms的时候这些subprograms并不随着父pl/sql block的失败而回滚,而是自己管自己commit。以Commit作为事务的结束。自治事务常用于写入LOG或TRAC信息便于查找错误。?
二. 嵌套事务的运用(Nested Transaction)?
1.预备Create Table:?

Sql代码??收藏代码
  1. create?table?TEST_POLICY??
  2. (??
  3. ??POLICY_CODE?VARCHAR2(20),??
  4. ??POLICY_TYPE?CHAR(1)??
  5. )??

2.创建一个嵌套事务的procedure:?
1)?
Sql代码??收藏代码