Sql server 2005 为什么INSERT EXEC存储过程不能嵌套?
我发现了一篇非常好的文章,详细介绍了如何传递表数据,其中提到了INSERT-EXEC样式的表数据共享的缺点是不允许嵌套 换句话说[至少在SQL Server 2005中],在PROC1下面的伪代码中,INSERT EXEC将在运行时出错。我想知道是否有人知道这是为什么Sql server 2005 为什么INSERT EXEC存储过程不能嵌套?,sql-server-2005,Sql Server 2005,我发现了一篇非常好的文章,详细介绍了如何传递表数据,其中提到了INSERT-EXEC样式的表数据共享的缺点是不允许嵌套 换句话说[至少在SQL Server 2005中],在PROC1下面的伪代码中,INSERT EXEC将在运行时出错。我想知道是否有人知道这是为什么 CREATE PROC1 AS --Fill table variable with data from somewhere INSERT INTO @tbl EXECUTE spI_Return_Data -- D
CREATE PROC1
AS
--Fill table variable with data from somewhere
INSERT INTO @tbl EXECUTE spI_Return_Data
-- Do some stuff to the data
-- 'Return' it
SELECT * FROM @tbl
GO
CREATE PROC2
AS
--Fill table variable with data from PROC1
INSERT INTO @tbl EXECUTE PROC1
-- Do some stuff to the data
-- 'Return' it
SELEC * FROM @tbl
GO
内部实施限制
如果需要捕获存储过程的输出,那么这些过程首先应该是一个表值函数。最终,您可以使用CLR过程绕过限制。内部实现限制
如果需要捕获存储过程的输出,那么这些过程首先应该是一个表值函数。最终,您可以通过使用CLR过程来绕过限制。谢谢,但我实际上很想知道内部实现限制是什么。我不知道该去哪里找。实际上,我并不是在寻找共享表信息的设计建议,因为我在帖子中提供的链接实际上有几十个。谢谢,但我实际上很想知道内部实现限制是什么。我不知道该去哪里找。我并不是在寻找分享表格信息的设计建议,因为我在帖子中提供的链接实际上有几十个。