关于sql server:尝试将存储过程插入临时表,使“对象或列名称丢失或为空”

Trying to insert a stored procedure into a temporary table, getting 'an object or column name is missing or empty'

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How to SELECT * INTO [temp table] FROM [Stored Procedure]

我是T-SQL的新手。我有一个选择记录的存储过程。我想查询存储过程返回的记录,因此我正试图将这些记录插入到临时表中。(栈溢出帖子和其他帖子都说这是怎么做的。)

但当我尝试时,我得到了错误:

object or column name is missing or empty'

当我刚运行存储过程时,我得到了一个表,其中有带名称的列。

1
2
select * into #temp1
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' //throws error saying columns must have names

但是

1
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' // Returns cols with names

我错过了什么?


首先尝试创建临时表:

1
2
3
4
5
6
7
8
CREATE TABLE #temp1
(
   COL1 INT,
   COL2 VARCHAR(MAX)  
)

INSERT INTO #temp1
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp'

对于非常广泛的结果集,您可能需要使用OPENROWSET

无论如何,这有很多选择:将存储过程的结果插入临时表中