これは単純な最小限の例です。 INSERT EXEC
を使用できます 声明。重要なのは、動的クエリの内部と外部でテーブル変数を宣言することです。動的クエリの最後に、テーブル変数から選択し、結果セットを外部テーブル変数に挿入するだけです。
DECLARE @t TABLE ( id INT )
DECLARE @q NVARCHAR(MAX) = 'declare @t table(id int)
insert into @t values(1),(2)
select * from @t'
INSERT INTO @t
EXEC(@q)
SELECT * FROM @t