首先,我使用相同的连接创建两个事务。
如果我回滚其中一个,是否另一个会回滚?
我想知道正确的结果和原因。
答案 0 :(得分:0)
单个ROLLBACK(没有保存点或事务名称)将回滚所有未提交的事务。 SQL Server联机丛书(http://msdn.microsoft.com/en-us/library/ms181299.aspx)的相关摘录:
嵌套事务时,同样的语句会回滚所有内部事务 交易到最外面的BEGIN TRANSACTION语句。
答案 1 :(得分:0)
每个连接没有多个事务。只能有零或一个。第二次打开交易只会增加@@TRANCOUNT
。
ROLLBACK
回滚事务并将@@TRANCOUNT
设置为零。
如果要部分回滚,请使用保存点。