将存储过程的输出插入临时表

时间:2013-02-19 13:41:14

标签: tsql

当尝试将存储过程的输出写入临时表时,我收到错误消息

  

Msg 208,Level 16,State 0,Line 4
  无效的对象名称'#tblTemp'。

我的疑问是:

DECLARE @group_name varchar(250)
SET @group_name = 'somevalue'

INSERT INTO #tblTemp EXEC mySchema.sp_MyStoredProc @group_name OUTPUT

SELECT  *
FROM    #tblTemp 

DROP TABLE #tblTemp 

这里有什么问题?

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

要在INSERT INTO中以这种方式使用临时表,您应首先定义此表。

CREATE TABLE #tblTemp(
ID int,
....
)

在T-SQL中,可以使用以下命令自动创建临时表:

select * into #tblTemp
from table

您可以在使用OPENROWSET的存储过程结果的情况下使用此语法。

Here is the answer on SO which can help

答案 1 :(得分:3)

您需要创建#temp表格,例如在CREATE TABLE之前发表INSERT INTO声明。