将存储过程的结果保存在Table变量中

Jan*_*Jan 14 sql sql-server stored-procedures exec sql-server-2008

可能重复:
如何选择*INTO [临时表] FROM [存储过程]

我有一个嵌套的存储过程调用

在其中一个存储过程中,我想将结果保存到表变量中,如下所示:

INSERT INTO @myTable 
EXEC sp_myStoredProcedure
Run Code Online (Sandbox Code Playgroud)

但是,因为proc.嵌套发生以下错误:INSERT EXEC语句不能嵌套

必须从另一个过程调用该过程,更改此选项不是一个选项.我想尝试使用输出参数,但仍然必须使用Insert into语句进行设置.

将从存储过程调用中检索到的数据保存到变量中的其他选项有哪些?

wer*_*eld -3

未经测试,但也许可以这样做:

DECLARE @insertedProc as varchar(300)
SET @insertedProc = 'INSERT INTO ' + @myTable + ' sp_myStoredProcedure'

EXEC @insertedProc
Run Code Online (Sandbox Code Playgroud)

确保您事先定义了 @myTable 是什么。

  • 这是行不通的,Jan 说“我想将结果保存到**表变量**”而不是变量中指定的表中。 (4认同)