提交交易

时间:2010-03-28 12:28:11

标签: sql-server sql-server-2005 tsql

http://msdn.microsoft.com/en-us/library/ms189797.aspx

在这个链接中,他们在catch子句IF(XACT_STATE())= 1中提交一个事务,我没有得到它,如果有错误他们为什么要提交它?即使select语句中的问题并没有大的提交,为什么不回滚它。

由于

2 个答案:

答案 0 :(得分:0)

链接正在证明其用途,就是这样。

如果这样说,可能在更复杂的代码中你想要进行部分提交,例如,而不是回滚整个事务。但是,您可能无法(例如,SET XACT_ABORT ON被用作示例)

答案 1 :(得分:0)

这只是演示代码,表明SET XACT_ABORT ON;无法提交发生错误的交易。

作为您可能希望在发生错误后提交事务的示例,请考虑记录代码。您通常希望尽可能提交日志条目,即使新订单插入导致主键违规。