如何在 UPDATE 前添加事务?
作者:互联网
BEGIN TRANSACTION; -- 开始事务
BEGIN TRY
-- 执行你的 UPDATE 语句
UPDATE YW_客户来货下单明细
SET 入库单guid = NULL
WHERE 工单guid IS NOT NULL AND 工单guid <> '';
-- 如果没有错误,提交事务
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
-- 如果出现错误,回滚事务
ROLLBACK TRANSACTION;
-- 可以选择在这里处理错误,比如记录错误日志
DECLARE @ErrorMessage NVARCHAR(4000);
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
SELECT
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState);
END CATCH
SQL
说明:
BEGIN TRANSACTION;
:开始一个新的事务。BEGIN TRY
和BEGIN CATCH
:用于处理错误。如果在BEGIN TRY
中的代码块中出现错误,将跳转到BEGIN CATCH
。- 在
BEGIN CATCH
中使用ROLLBACK TRANSACTION;
来回滚事务。 - 如果没有错误,则通过
COMMIT TRANSACTION;
提交事务,保存更改。
标签: 来源: