可能重复: How to SELECT * INTO [temp table] FROM [Stored Procedure]
我是T-SQL的新手。我有stored procedure选择记录。我想查询存储过程返回的记录,所以我试图将记录插入临时表。 (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
我错过了什么?
答案 0 :(得分:6)
首先尝试创建临时表:
CREATE TABLE #temp1
(
COL1 INT,
COL2 VARCHAR(MAX)
)
INSERT INTO #temp1
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp'
如果您的结果集非常宽,则可能需要使用OPENROWSET
无论如何,这个SO有很多选择: Insert results of a stored procedure into a temporary table