我试图将几个存储过程的结果合并到一个临时表中。各种存储过程的结果具有相同的列结构。本质上,我想UNION ALL各种存储过程的结果。一个显著的事实:每个存储过程创建一个临时表来存储其数据和结果中的每个回报是基于对临时表中的选择:如何将存储过程#1的结果存储到存储过程#2中的临时表中
create proc SP1
as
.
. <snip>
.
select * from #tmp -- a temporary table
注意到select * from OPENQUERY(server, 'exec SP1')
不工作,如果在SP1中的选择是针对临时表的(请参阅this question了解详细信息),还有另一种方法可以让不同的存储过程SP2获得执行SP1到临时表中的结果吗?
create proc SP2 as
-- put results of executing SP1 into a temporary table:
.
.
.
注意:不能修改SP1(例如,将其结果存储在具有会话范围的临时表中)。
如果不需要,甚至不需要指定列列表。 – ErikE
当然。谈到编写SQL查询时,您现在已经看到了我的肛门保持能力。 – Tombatron
我的宠物小猪是插入没有列名......好,除非它是由选择WITH列名称填充。我感谢你的肛门保持力 – JDPeckham