SQL SERVER事务回滚语句怎么写,执行结果是什么
Admin 2022-08-04 群英技术资讯 1000 次浏览
很多朋友都对“SQL SERVER事务回滚语句怎么写,执行结果是什么”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!SET XACT_ABORT OFF
BEGIN TRAN
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
SET XACT_ABORT on
BEGIN TRAN
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
事务在错误行终止,错误行回滚,错误行之前的不回滚
SET XACT_ABORT on
BEGIN
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)
END
go
结果3:出现这种是因为系统把每个insert语句都看成是单独的事务,所以错误行以前的是不回滚的。
–select * from score
101 90
102 78
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
一 清空数据库里所有的表 复制代码代码如下:DECLARE @tablename varchar(50) DECLARE @truncatesql varchar(255) DECLARE TrCun_Cursor CURSOR FOR s
继SQl -Function创建函数数据库输出的结果用逗号隔开,在开发中也有许多以参数的形式传入带逗号字条串参数,需要的朋友可以参考下
这篇文章主要介绍了SQL判断是否"存在",还在用 count 操作?很耗时的!本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要介绍了SqlServer数据库远程连接案例教程,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
SQL Server 对于数据平台的开发者来说越来越友好,下面这篇文章主要给大家介绍了关于SQLServer中JSON文档型数据的查询问题的解决方法,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008