Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Inserir na variável da tabela com união

INSERT INTO @table(a,b,c,d)
SELECT  a,b,c,d 
FROM   table1

UNION

SELECT a,b,c,d 
FROM table2

Você não precisa usar a cláusula Values ​​ao inserir dados usando a instrução SELECT. Portanto, removi os VALUES bit dele e simplesmente fazendo um UNION de linhas sendo retornadas de ambas as consultas SELECT.

O servidor SQL suporta a sintaxe da instrução INSERT como
INSERT INTO Table_Name(Col1, COl2. Col3...)
SELECT Col1, COl2. Col3...
FROM Other_Table_Name

Isso inserirá o conjunto de resultados retornado pela instrução select na tabela de destino. No seu caso o Result é uma UNION de dois selects portanto não é diferente de um único select.