複数のストアドプロシージャの結果を1つの一時テーブルに結合しようとしています。さまざまなストアドプロシージャの結果は、同じ列構造になっています。基本的に、さまざまなストアドプロシージャの結果をすべてUNIONしたいと思います。重要な事実:各ストアドプロシージャは、データを格納するための一時テーブルを作成し、それぞれが返す結果は、一時テーブルに対する選択に基づいています。
create proc SP1
as
.
. <snip>
.
select * from #tmp -- a temporary table
select * from OPENQUERY(server, 'exec SP1')
SP1の選択が一時テーブルに対して行われている場合は機能しないことに注意してください(詳細については、この質問を参照してください)。別のストアドプロシージャSP2が、SP1の実行結果を一時テーブルに取り込む別の方法はありますか?
create proc SP2 as
-- put results of executing SP1 into a temporary table:
.
.
.
注:SP1は変更できません(たとえば、セッションスコープを持つ一時テーブルに結果を保存するため)。