SQL Server – Crear Tabla desde un Select

En SQL Server es posible crear una tabla a partir del resultado de una sentencia Select. Esto aplica tanto para las consultas a tablas locales como a servidores vinculados. Para realizar esto se hace uso de la cláusula INTO como se muestra en el siguiente ejemplo:

SELECT FirstName, LastName
  INTO ListaEmpleados
  FROM person

Hemos usado la base de datos de prueba AdventureWorks que proporciona Microsoft para crear una tabla con solo dos columnas a partir de una consulta de selección a la tabla de personal.  La instrucción para crear la tabla a partir del resultado de la consulta es muy sencilla: después del listado de columnas a devolver y antes del FROM se debe agregar la cláusula INTO seguida del nombre de la tabla a crear.  Con ello la tabla será creada en el contexto de la base de datos activa. En resumen podemos decir que la creación  de tablas se rige por la siguiente regla:

SELECT CAMPO1, CAMPO2,.., CAMPON
  INTO SERVIDOR.BASEDEDATOS.PROPIETARIO.NOMBRENUEVATABLA
  FROM SERVIDOR.BASEDEDATOS.TABLAORIGEN

Las restricciones al usar la cláusula INTO son:

  • Los índices, restricciones y desencadenadores definidos en la tabla de origen no se transfieren a la nueva tabla.
  • El uso de la cláusula ORDER BY no garantiza que las filas se inserten en el orden indicado.
  • Las columnas calculadas de la tabla origen se crean como columnas fijas  en la tabla destino  con los valores calculados al momento de la operación.
  • El límite para tipos de datos binarios es de 2 GB, de excederse produce el error: 7119.

Otros temas que pueden interesarte:

  1. Mysql – Crear tablas a partir de sentencias SELECT.
  2. Db2 – Crear tablas a partir de sentencias SELECT.

 

 

 

1 Trackback / Pingback

  1. PostgreSQL – Crear tabla desde un Select | Blog del Poli

Deja un comentario