首页 > 其他 > 详细

嵌套事务

时间:2015-10-09 20:00:02      阅读:331      评论:0      收藏:0      [点我收藏+]

嵌套事务是指一个事务创建在另一个事务里面,这种情况一般发生在一个存储过程里面有事务,然后又在有事务的语句中调用它。

例如,以下是一段嵌套事务的语句

BEGIN TRAN Tran1

        GO

        BEGIN TRAN Nested Tran

        GO

        INSERT INTO Table1 DEFAULT Values

        GO 10

        COMMIT TRAN Nested Tran

        SELECT * FROM Table1

如果运行此语句会看到10条记录插入到表Table1,当我使用以下语句回滚第一个事务的时候

ROLLBACK TRAN Tran1

这10条语句在表Table1中消失了。为什么会出现这样呢?

嵌套语句是基于最外层的事务动作,如果我回滚了最外层的事务,整个事务都会回滚,无论在里面是否提交.另一方面,如果我在最外层提交了事务,所有的事务也都会被提交。

嵌套事务

原文:http://www.cnblogs.com/terrence/p/4864855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!