Questo è un semplice esempio minimo. Puoi usare INSERT EXEC
dichiarazione. La chiave è avere una variabile di tabella dichiarata all'interno e all'esterno della query dinamica. Alla fine della query dinamica seleziona semplicemente dalla variabile della tabella e inserisci il set di risultati nella variabile della tabella esterna:
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