有人可以解释何时以及为何使用提交? http://msdn.microsoft.com/en-us/library/ms190295.aspx
1)tableX recordM
中的更新2)在tableY recordN
中更新3)tableZ recordO中的更新
4)在这里使用提交
...
如果2)失败并且记录N没有更新,那么回滚并且不进行3)和4)提交?你会在哪里使用它?
答案 0 :(得分:2)
在一个或多个操作(事务)完成时使用commit,并且您希望更改数据库。
在你的例子中,如果2)失败,你应该做回滚,他们操作1)将撤消,这样可以保持数据库的一致性
例如。如果你有一个书店系统,每当你出售一本书时,你必须做几个操作:
您希望所有操作都成功完成或不执行任何操作。 所以你应该:
如果出现问题,请回滚(撤消)所有
答案 1 :(得分:1)
当您希望将一对操作视为一个操作时,请始终使用提交。这意味着当至少一个失败全部在提交之前恢复到状态时。
它非常有用,因为某些动作应该被视为原子操作,例如。银行业务。