SQL SERVER事务回滚语句怎么写
发布时间:2023-12-31 05:07:47 所属栏目:MsSql教程 来源:DaWei
导读: 很多朋友都对“SQL SERVER事务回滚语句怎么写,执行结果是什么”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感
很多朋友都对“SQL SERVER事务回滚语句怎么写,执行结果是什么”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧! 1、回滚语句1: 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 2、回滚语句2: 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 3、回滚语句3: 事务在错误行终止,错误行回滚,错误行之前的不回滚 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 关于“SQL SERVER事务回滚语句怎么写,执行结果是什么”就介绍到这了,如果大家觉得不错可以参考了解看看,如果想要了解更多,小编每天都会为大家更新不同的知识。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐