在transact-sql中,在“begin transaction”和“commit transaction”之间包含不同操作的目的是什么
我注意到当函数中间抛出异常时它不会回滚事务。 如果发生错误,如何回滚事务?
答案 0 :(得分:2)
使用try和catch进行正确错误处理的最佳方法。然后根据roll back tran等错误在catch子句中执行操作。
但是,如果您根本不想更改代码。请在执行代码之前指定以下内容。
set xact_abort on
这将导致事务的自动回滚。但最好的解决方案是正确捕获和处理错误。