jueves, 28 de julio de 2011

SELECT INTO

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.

No hay comentarios:

Publicar un comentario