你可以将整个内容包装在 begin tran/end tran 中。引用自微软:
BEGIN TRANSACTION 表示连接所引用的数据在逻辑和物理上一致的点。如果遇到错误,则可以回滚在 BEGIN TRANSACTION 之后进行的所有数据修改,以将数据返回到此已知的一致性状态。每个事务持续到它完成且没有错误并且发出 COMMIT TRANSACTION 以使修改成为数据库的永久部分,或者遇到错误并且使用 ROLLBACK TRANSACTION 语句删除所有修改为止。
为了回应您的评论,将其与嵌套试着抓可能对你有用。