To jest prosty minimalny przykład. Możesz użyć INSERT EXEC
oświadczenie. Kluczem jest posiadanie zmiennej tabeli zadeklarowanej wewnątrz i na zewnątrz zapytania dynamicznego. Na końcu dynamicznego zapytania po prostu wybierz zmienną tabeli i wstaw wynik do zewnętrznej zmiennej tabeli:
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