关于嵌套事务的问题?
刚使用SQL Server不久,碰见一个难题,希望大家帮忙.
比如象下面的过程.
create procedure p1
as
begin tran
do somework
if..
begin
if ..
commit
else
rollback
end
else
commit
------------------------------------
create procedure p2
as
begin tran
exec p1
if ..
commit
else
rollback
-------------------------------------
执行P2的时候会出现
服务器: 消息 266,级别 16,状态 2
EXECUTE 后的事务计数指出缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。原计数 = 1,当前计数 = 0。
服务器: 消息 3903,级别 16,状态 1
ROLLBACK TRANSACTION 请求没有对应的 BEGIN TRANSACTION。
这里P2只是个测试,P2对应的事务应该是在程序中做
虽然帮助里说该错误可以忽略,但是我不想在程序中的到该错误.请问我该如何避免出现该错误?
谢谢!