看到了这个问题的不同链接,但找不到一个特定于我的要求。
我有一个临时表,我想填充存储过程返回的结果。 存储过程返回多个列,我必须插入特定的列
我试过了,
create table #temp
(
[Field1] [numeric](14,5) NULL,
[Field2] [numeric](14,5) NULL,
[Field3] [nvarchar](30) NULL
)
insert into #temp
exec sp_name @para1 = par1value,@para2=par2value
所有这些代码都驻留在另一个存储过程中。 它给了我错误,
Column name or number of supplied values does not match table definition.
如何只插入对来自存储过程的多个字段结果集感兴趣的字段
答案 0 :(得分:0)
首先,您必须确保存储过程以所需格式返回数据 然后就可以了,
INSERT INTO #temp([Field1], [Field2], [Field3])
EXEC sp_name @para1 = par1value, @para2 = par2value
要测试SP输出,您只需在查询编辑器中触发EXEC sp_name @para1 = par1value, @para2 = par2value
。