尝试将一个存储过程插入到临时表中,出现“缺失或为空的对象或列名”的错误。

36 浏览
0 Comments

尝试将一个存储过程插入到临时表中,出现“缺失或为空的对象或列名”的错误。

这个问题已经在这里有答案了

可能重复:

如何从存储过程中选择* INTO [temp表] FROM [stored procedure]

我是T-SQL的新手。我有一个选择记录的存储过程。我想查询存储过程返回的记录,所以我尝试将记录插入到临时表中。(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

我错过了什么吗?

admin 更改状态以发布 2023年5月23日
0
0 Comments

首先创建临时表:

CREATE TABLE #temp1
(
   COL1 INT,
   COL2 VARCHAR(MAX)   
)
INSERT INTO #temp1 
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp'

在你的情况下,如果结果集非常宽,你可能想使用OPENROWSET

无论如何,这个 Stack Overflow 上有很多选项:
将存储过程的结果插入到临时表中

0