数据库
首页 > 数据库> > 如何在 UPDATE 前添加事务?

如何在 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

说明:

  1. BEGIN TRANSACTION;:开始一个新的事务。
  2. BEGIN TRY 和 BEGIN CATCH:用于处理错误。如果在 BEGIN TRY 中的代码块中出现错误,将跳转到 BEGIN CATCH
  3. 在 BEGIN CATCH 中使用 ROLLBACK TRANSACTION; 来回滚事务。
  4. 如果没有错误,则通过 COMMIT TRANSACTION; 提交事务,保存更改。

标签:
来源: