Ceci est un exemple minimal simple. Vous pouvez utiliser INSERT EXEC
déclaration. La clé est d'avoir une variable de table déclarée à l'intérieur et à l'extérieur de la requête dynamique. À la fin de la requête dynamique, sélectionnez simplement une variable de table et insérez le jeu de résultats dans une variable de table extérieure :
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