可能重复:
How to SELECT * INTO [temp table] FROM [stored procedure]
我有一个嵌套的存储过程调用
在其中一个存储过程中,我想将结果保存到表变量中,如下所示:
INSERT INTO @myTable
EXEC sp_myStoredProcedure
然而,因为proc。嵌套发生以下错误:
INSERT EXEC语句不能嵌套
必须从另一个程序调用该过程,更改此选项不是一个选项。 我想尝试使用输出参数,但仍然必须使用Insert into语句设置。
将从存储过程调用中检索到的数据保存到变量中有哪些其他选项?
答案 0 :(得分:3)
在嵌套过程的情况下,表变量对于调用过程是不可见的。以下是#temp表的合法性。
http://databases.aspfaq.com/database/should-i-use-a-temp-table-or-a-table-variable.html
答案 1 :(得分:-3)
未经测试但可能会这样做:
DECLARE @insertedProc as varchar(300)
SET @insertedProc = 'INSERT INTO ' + @myTable + ' sp_myStoredProcedure'
EXEC @insertedProc
确保您已预先确定了@myTable的内容。