将记录(存储过程的结果)插入临时表

时间:2013-12-10 09:01:09

标签: sql-server-2008 tsql

看到了这个问题的不同链接,但找不到一个特定于我的要求。

我有一个临时表,我想填充存储过程返回的结果。 存储过程返回多个列,我必须插入特定的列

我试过了,

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.

如何只插入对来自存储过程的多个字段结果集感兴趣的字段

1 个答案:

答案 0 :(得分:0)

首先,您必须确保存储过程以所需格式返回数据 然后就可以了,

INSERT INTO #temp([Field1], [Field2], [Field3])
EXEC sp_name @para1 = par1value, @para2 = par2value

要测试SP输出,您只需在查询编辑器中触发EXEC sp_name @para1 = par1value, @para2 = par2value