Dies ist ein einfaches Minimalbeispiel. Sie können INSERT EXEC
verwenden Aussage. Der Schlüssel ist, dass die Tabellenvariable innerhalb und außerhalb der dynamischen Abfrage deklariert wird. Am Ende der dynamischen Abfrage wählen Sie einfach aus der Tabellenvariablen aus und fügen die Ergebnismenge in die externe Tabellenvariable ein:
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