gpt4 book ai didi

sql - 单个存储过程中的多个事务

转载 作者:行者123 更新时间:2023-12-05 08:59:38 25 4
gpt4 key购买 nike

我需要从 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 中实现多事务和错误处理有没有更好的方法?

我需要为每个表放置单独的事务。

当其中一项交易失败时,我收到错误消息。

Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. the records are not deleting from other transaction

最佳答案

试试这个:

BEGIN TRANSACTION;
BEGIN TRY
DELETE from A
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;
END CATCH


BEGIN TRANSACTION;
BEGIN TRY
DELETE from B
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;
END CATCH

关于sql - 单个存储过程中的多个事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12137074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com