Kuy*_*nda 3 sql-server sql-server-2008-r2
此StackOverflow答案提供了一种使用TRY CATCH ROLLBACK TRANSACTION的优雅方法,但它可以抑制错误信息.
有没有办法回滚一个不会抑制导致回滚的错误的事务?
这是基于上述方法的示例T-SQL脚本:
DECLARE @Table TABLE ( ID INT PRIMARY KEY )
BEGIN TRY
BEGIN TRANSACTION
INSERT INTO @Table VALUES (1), (1)
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
END CATCH;
Run Code Online (Sandbox Code Playgroud)
谢谢!
在Catch语句中获取错误代码和消息.然后再简单地升起它.以下是一些示例.
http://technet.microsoft.com/en-us/library/ms175976.aspx
(根据评论中的每个RBarryYoung)
在该CATCH条款中,只需使用THROW
| 归档时间: |
|
| 查看次数: |
2230 次 |
| 最近记录: |