VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > MongoDB >
  • SQL SERVER提交事务回滚机制

这篇文章主要介绍了SQL SERVER提交事务回滚机制,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

 

1、回滚语句1:

SET XACT_ABORT OFF

BEGIN TRAN

1

2

3

4

5

INSERT INTO score   VALUES (101,90)

INSERT INTO score VALUES (102,78)

INSERT INTO score VALUES (107,76) /**//* Foreign Key Error */

INSERT INTO score VALUES (103,81)

INSERT INTO score VALUES (104,65)

COMMIT TRAN

go

  结果1:只回滚错误行,语句还继续执行。

–select * from score

101 90

102 78

103 81

104 65

2、回滚语句2:

SET XACT_ABORT on

BEGIN TRAN

1

2

3

4

5

INSERT INTO score   VALUES (101,90)

INSERT INTO score VALUES (102,78)

INSERT INTO score VALUES (107,76) /**//* Foreign Key Error */

INSERT INTO score VALUES (103,81)

INSERT INTO score VALUES (104,65)

COMMIT TRAN

go

结果2:事务终止并全部回滚,结果为空。

–select * from score

3、回滚语句3:

事务在错误行终止,错误行回滚,错误行之前的不回滚

SET XACT_ABORT on

BEGIN

INSERT INTO score VALUES (101,90)

1

2

3

4

INSERT INTO score VALUES (102,78)

INSERT INTO score VALUES (107,76) /**//* Foreign Key Error */

INSERT INTO score VALUES (103,81)

INSERT INTO score VALUES (104,65)

END

go

  结果3:出现这种是因为系统把每个insert语句都看成是单独的事务,所以错误行以前的是不回滚的。

–select * from score

101 90

102 78

到此这篇关于SQL SERVER提交事务回滚机制的文章就介绍到这了


原文:https://www.jb51.net/article/216780.htm


相关教程