SQL Server的嵌套事务是假的!!载自联机丛书: 《--------- SQL Server忽略提交内部事务。根据最外部事务结束时采取的操作,将提交或者回滚事务。如果提交外部事务,则内层嵌套的事务也会提交。如果回滚外部事务,则不论此前是否单独提交过内层事务,所有内层事务都将回滚。 ----------》内层事务只能提交不能rollback,否则将会导致错误! 而内层事务就算已经提交了,外层事务的提交或回滚也将不理会内层的提交,而是按照外层的提交或回滚为主!说的感觉像绕口令,只是想表达:SQL server的嵌套事务没什么用!!像你的例子: BEGIN TRANSACTION BEGIN ... ... BEGIN TRANSACTION BEGIN ... ... ROLLBACK END ... ... COMMIT END外层会出现错误!不能运行的!
《---------
SQL Server忽略提交内部事务。根据最外部事务结束时采取的操作,将提交或者回滚事务。如果提交外部事务,则内层嵌套的事务也会提交。如果回滚外部事务,则不论此前是否单独提交过内层事务,所有内层事务都将回滚。
----------》内层事务只能提交不能rollback,否则将会导致错误!
而内层事务就算已经提交了,外层事务的提交或回滚也将不理会内层的提交,而是按照外层的提交或回滚为主!说的感觉像绕口令,只是想表达:SQL server的嵌套事务没什么用!!像你的例子:
BEGIN TRANSACTION BEGIN
... ...
BEGIN TRANSACTION BEGIN
... ...
ROLLBACK END
... ...
COMMIT END外层会出现错误!不能运行的!