http://msdn.microsoft.com/en-us/library/ms189797.aspx
在这个链接中,他们在catch子句IF(XACT_STATE())= 1中提交一个事务,我没有得到它,如果有错误他们为什么要提交它?即使select语句中的问题并没有大的提交,为什么不回滚它。
由于
答案 0 :(得分:0)
链接正在证明其用途,就是这样。
如果这样说,可能在更复杂的代码中你想要进行部分提交,例如,而不是回滚整个事务。但是,您可能无法(例如,SET XACT_ABORT ON
被用作示例)
答案 1 :(得分:0)
这只是演示代码,表明SET XACT_ABORT ON;
无法提交发生错误的交易。
作为您可能希望在发生错误后提交事务的示例,请考虑记录代码。您通常希望尽可能提交日志条目,即使新订单插入导致主键违规。