我是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)
我错过了什么?
首先尝试创建临时表:
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都有许多选项: 将存储过程的结果插入临时表中