viernes, 8 de octubre de 2010

Crear tabla en sql server desde una instruccion select

 

En esta ocasión quiero compartirles algo que suele ser muy necesario cuando queremos respaldar los datos de una tabla especifica, sin tener que hacer backup de la BD completa, o cuando necesitamos guardar solo ciertos datos pero no conocemos a priori la estructura que tendrán esos datos e incluso quizá este proceso deba hacerse de forma dinámica por lo que ni siquiera sabemos en que momento se generara.

Bueno la forma es muy sencilla y es la siguiente:

SELECT [*|| campo1, campo2, campo3… campo(n)]

INTO NombreTablaNuevaOTemporal

FROM TablaOrigen

La explicación más sencilla aún:

Realizamos un SELECT tal y como lo necesitemos pero después del listado del campos necesarios, usaremos la palabra reservada INTO que permite la creación de una tabla con el nombre que señalemos a continuación de dicha instrucción. Quizá la pregunta sea: ¿´Qué pasa cuando la tabla ya existe y contiene datos?, bueno pues, esa tabla y datos son respetados, agregando únicamente los nuevos registros.

Bien, para finalizar un ejemplo sencillo:

SELECT t.FOLIO, t.ASUNTO

INTO test_table FROM zabp_tareas_ogerp t

WHERE  t.PARA='Desarrollo-Carlos Armenta'

Debido a que todo se hace desde un SELECT, podemos hacerlo tan complejo como sea necesario.

Best regards And Happy coding.

KarlozArba

No hay comentarios: