我有两个存储过程,我从一个存储过程中调用另一个存储过程,并且在这两个存储过程中都使用了事务。下面是这两个存储过程:
CREATE PROCEDURE [dbo].[spOuter]
AS
BEGIN
begin tran t1
-- some sql queries..
Exec spInner;
commit tran t1
END
CREATE PROCEDURE [dbo].[spInner]
AS
BEGIN
begin tran t2
– some sql queries.
rollback tran t2
END
但是在执行时,它显示如下错误:
无法回滚t2。找不到该名称的任何事务或保存点。
有人可以解释为什么会出现这种情况吗?