一个大的事务ALL里有 2个小事务A和B。
就是这样:事务ALL开始
    
    事务A开始
    事务A结束
    
    事务B开始
    事务B结束事务ALL结束事务A执行完毕后,事务A→GetObjectContext.SetComplete,事务中有Insert into DB的操作。事务B执行过程后,出现错误,这个时候,跳转到事务ALL,事务ALL执行GetObjectContext.SetAbort操作。问题:
已经执行了SetComplete操作的事务A,在事务ALL执行SetAbort操作的时候,是否也成功rollback了?

解决方案 »

  1.   

    下面是我在网上找到的MS关于事务嵌套的说明,不过,他强调的是SQL Server,不知道在vb里是否也一样??
    Microsoft® SQL Server™ 忽略提交内部事务。根据最外部事务结束时采取的操作,将提交或者回滚事务。如果提交外部事务,则内层嵌套的事务也会提交。如果回滚外部事务,则不论此前是否单独提交过内层事务,所有内层事务都将回滚。