sql >> Base de Datos >  >> RDS >> Sqlserver

Insertar en variable de tabla con union

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

UNION

SELECT a,b,c,d 
FROM table2

No necesita usar la cláusula de valores al insertar datos usando la instrucción SELECT. Por lo tanto, he eliminado los VALUES bit de él y simplemente haciendo una UNIÓN de filas que se devuelven de ambas consultas SELECT.

El servidor Sql admite la sintaxis para la instrucción INSERT como

INSERT INTO Table_Name(Col1, COl2. Col3...)
SELECT Col1, COl2. Col3...
FROM Other_Table_Name

Esto insertará ese conjunto de resultados devuelto por la declaración de selección en la tabla de destino. En su caso, el resultado es una UNIÓN de dos selecciones, por lo tanto, no es diferente de una sola selección.