尝试将一个存储过程插入到临时表中,出现“缺失或为空的对象或列名”的错误。
尝试将一个存储过程插入到临时表中,出现“缺失或为空的对象或列名”的错误。
这个问题已经在这里有答案了:
可能重复:
我是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日
首先创建临时表:
CREATE TABLE #temp1 ( COL1 INT, COL2 VARCHAR(MAX) ) INSERT INTO #temp1 exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp'
在你的情况下,如果结果集非常宽,你可能想使用OPENROWSET
无论如何,这个 Stack Overflow 上有很多选项:
将存储过程的结果插入到临时表中