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

时间:2012-04-13 17:56:42

标签: sql-server tsql

  

可能重复:   How to SELECT * INTO [temp table] FROM [Stored Procedure]

我是T-SQL的新手。我有stored procedure选择记录。我想查询存储过程返回的记录,所以我试图将记录插入临时表。 (Stack Overflow帖子和其他帖子说这是怎么做的。)

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

  

对象或列名称缺失或为空“

当我运行存储过程时,我得到一个包含名称列的表。

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

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

我错过了什么?

1 个答案:

答案 0 :(得分:6)

首先尝试创建临时表:

CREATE TABLE #temp1
(
   COL1 INT,
   COL2 VARCHAR(MAX)   
)

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

如果您的结果集非常宽,则可能需要使用OPENROWSET

无论如何,这个SO有很多选择: Insert results of a stored procedure into a temporary table