SQL Server nos permite ingresar registros a una tabla directamente desde una consulta SELECT, para ello echamos mano de la instrucción “SELECT … INTO”. La sintaxis es:
SELECT {Col1, Col2, …}
INTO {Tabla Destino}
FROM {Tabla(s) Origen}
[WHERE] {Col1 = val1, Col2 = val2, …}
[GROUP BY] {Col1, Col2, …}
[ORDER BY] {Col1, Col2, …}
Ejemplo:
Sea TABLE1 T1 una tabla, y Col1 y Col2 Columnas de la tabla
SELECT T1.Col1, T1.Col2
INTO T2
FROM TABLE1 T1
WHERE T1.Col1 > 0
Cómo podemos observar, sencillamente se agrega la instrucción “INTO ” después de “SELECT” y antes de “FROM”, y funciona para toda consulta, con la restricción de que todas las columnas en la selección deben tener un nombre, por ejemplo, si efectuamos una consulta con una función de agregado (SUM, COUNT, MIN, ETC), la columna que tiene la funcón de agregado debe estar identificada por un “alias”.
“SELECT INTO” puede utilizarse para crear tablas estandar y temporales. SQL SERVER crea la tabla destino automáticamente, esta no puede existir previamente, por lo tanto No puede ser utilizada con variables tipo Table.
admin
July 28, 2011
SQL SERVER
No Comment