我需要从 SQL Server 2008 中的 2 个表中删除数据。
我有两个表 A 和 B。我需要将每个表放在一个单独的事务中。
这是我正在使用的代码。
BEGIN TRANSACTION;
BEGIN TRY
DELETE from A
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
BEGIN TRANSACTION;
BEGIN TRY
DELETE from B
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
有没有更好的方法在 SQL Server 中实现多个事务和错误处理?
我需要为每个表放置单独的事务。
当其中一项交易失败时,我收到错误消息。
EXECUTE 之后的事务计数表明 BEGIN 和 COMMIT 语句的数量不匹配。记录没有从其他事务中删除