有条件的事务回滚 [英] Conditional transaction rollback
本文介绍了有条件的事务回滚的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道,是否有可能根据特定批次的状态应用条件事务回滚.例如,我有以下代码:
I am wondering, if there is a possibility to apply conditional transaction rollback based on state of particular batch. For example, I have a following code:
BEGIN TRAN
--EXEC No 1
EXEC [dbo].[MyProc] 1;
GO
--EXEC No 2
EXEC [dbo].[MyProc] 22;
GO
--EXEC No 3
EXEC [dbo].[MyProc] 333;
GO
--EXEC No 4
EXEC [dbo].[MyProc] 5;
GO
COMMIT
如果 EXEC No 3
失败,我想回滚整个事务.如果任何其他执行失败,我希望 SQL Server 继续执行我的查询.可能吗?
And I want to rollback entire transaction if the EXEC No 3
fails. If any other execution fails I want SQL Server to continue executing my query. Is it possible?
推荐答案
Begin tran
Begin try
.....
commit
End try
begin catch
rollback
End catch
http://msdn.microsoft.com/fr-fr/library/ms175976.aspx
他们更喜欢先开始传输并在外面提交
They prefer to do the begin tran and commit outside
这篇关于有条件的事务回滚的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文