您的位置:首页 > 博客中心 > 数据库 >

PLSQL_自治事务和嵌套的理解和用法(案例)

时间:2022-03-10 17:26

2014-06-01 BaoXinjian In Capgemini

一、摘要

嵌套事物:指在一个Parent事务中嵌套的一个或多个Sub Transaction.并且主事务与其相互影响,这种事务就称为嵌套事务。以Commit作为事务的结束

自治事物:指在function,procedure等subprograms中对事务进行自治管理,当在别的pl/sql block里去调用这些subprograms的时候这些subprograms并不随着父pl/sql block的失败而回滚,而是自己管自己commit。以Commit作为事务的结束。自治事务常用于写入LOG或TRAC信息便于查找错误。

个人感觉,一般嵌套事物因为采用savepoint&rollback这种方式进行回滚,会破坏程式的可读性及模块化,特别有多个savepoint&rollback在程式中,可能连自己写的人会混淆,更何况项目运维过程中的维护人员,所以一般在写程式标准中,会禁止使用嵌套事物

而自治事物可将程式的模块化,一般来说是推荐的写法,将主事物和子事物进行隔离,所以后面也会对自治事物做详细的解读

 

二、嵌套事物 SavePoint

1. 基本作用:建立回滚节点,之后如回滚直接回滚此节点,此节点之前仍会Commit

2. 基本语法

SAVE_POINT my_savepoint;
... ...
ROLLBACK to my_savepoint;

3. 因是开发过程中不推荐的写法,所以案列就略去了;)

 

三、自治事物 autonomous_transation

1. 基本作用:

 申明proc2为自治事务

gxlsystem.com,布布扣

PLSQL_自治事务和嵌套的理解和用法(案例),布布扣,bubuko.com

热门排行

今日推荐

热门手游