sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan indsætter man i en tabelvariabel med en dynamisk forespørgsel?

Dette er et simpelt minimalt eksempel. Du kan bruge INSERT EXEC udmelding. Nøglen er at få tabelvariabel erklæret i og uden for dynamisk forespørgsel. I slutningen af ​​dynamisk forespørgsel skal du blot vælge fra tabelvariabel og indsætte resultatsæt i ekstern tabelvariabel:

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


  1. MySql prepare statement - er det muligt at parametrisere kolonnenavn eller funktionsnavn?

  2. SQLite og database initialisering

  3. SQL Server varbinær bigint med BitConverter.ToInt64 værdier er forskellige

  4. At kombinere resultater fra forening i én række, når nogle kolonner har forskellige værdier