10

可能重复: 如何 SELECT * INTO [temp table] FROM [Stored Procedure]

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

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

对象或列名丢失或为空'

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

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

我错过了什么?

4

1 回答 1

12

首先尝试创建临时表:

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

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

在您的结果集非常广泛的情况下,您可能希望使用OPENROWSET

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

于 2012-04-13T18:00:22.503 回答