小编典典

SQL Server - 事务回滚错误?

all

我们有在 SQL Server 2005 上运行一些 SQL 的客户端应用程序,例如:

BEGIN TRAN;
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN;

它由一个长字符串命令发送。

如果其中一个插入失败,或者命令的任何部分失败,SQL Server 是否回滚事务?如果它不回滚,我是否必须发送第二个命令来回滚它?

我可以详细说明我正在使用的 api 和语言,但我认为 SQL Server 应该对任何语言做出相同的响应。


阅读 61

收藏
2022-06-11

共1个答案

小编典典

您可以set xact_abort on在事务之前放置以确保 sql 在出现错误时自动回滚。

2022-06-11