Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak wstawić do zmiennej tabeli z dynamicznym zapytaniem?

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 5 nawyków monitorowania baz danych w przypadku udanych administratorów baz danych

  2. Zaktualizuj wiele kolumn w SQL

  3. Czy widok jest szybszy niż proste zapytanie?

  4. SQL Server 2008 R2 Użytkownik nie może korzystać z procedury systemowej

  5. sql grupuj tylko według wierszy, które są w sekwencji