将存储过程的多个结果集插入临时表

时间:2020-09-23 20:26:03

标签: sql sql-server stored-procedures sql-server-2012

我有一个存储过程,该过程返回多个结果集。我正在尝试将所有结果的列值检索到临时表中。有可能吗?

我的存储过程返回如下列。我大约返回了10多个结果集,每个结果集都有一个tid列。

enter image description here

enter image description here

enter image description here

是否可以选择临时表中的tId

1 个答案:

答案 0 :(得分:0)

仅当每个行集的输出定义与表模式匹配时(而不是您的情况),您才将所有数据集收集到一个表中,因此,我建议在存储过程中准备统一的数据集,并将其单独输出或作为输出表变量输出。

create procedure proc_multi as
begin
select 1 id;
select 2 id;
end;

create table #t (id int);

insert into #t
    exec proc_multi;

select * from #t;

id
-----------
1
2

(2 rows affected)