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

ber*_*436 8 t-sql sql-server

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

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

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

对象或列名称缺失或为空

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

select * into #temp1
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' //throws error saying columns must have names
Run Code Online (Sandbox Code Playgroud)

exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' // Returns cols with names
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Kha*_*han 6

首先尝试创建临时表:

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

INSERT INTO #temp1 
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp'
Run Code Online (Sandbox Code Playgroud)

在极端宽的结果集的情况下,您可能想要使用 OPENROWSET

在任何情况下,此SO都有许多选项: 将存储过程的结果插入临时表中