INTO (cláusula de Transact-SQL)

Actualizado: 15 de septiembre de 2007

Crea una nueva tabla e inserta en ella las filas resultantes de la consulta.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

[ INTO new_table ]

Argumentos

  • new_table
    Especifica el nombre de una nueva tabla que se va a crear basada en las columnas de la lista de selección y en las filas seleccionadas por la cláusula WHERE. El formato de new_table se determina mediante la evaluación de las expresiones de la lista de selección. Las columnas de new_table se crean en el orden que especifica la lista de selección. Cada columna de new_table tiene el mismo nombre, tipo de datos y valor que la expresión correspondiente de la lista de selección.

    Cuando se incluye una columna calculada en la lista de selección, la columna correspondiente de la nueva tabla no es una columna calculada. Los valores de la nueva columna son los que se calcularon en el momento en que se ejecutó SELECT...INTO.

    La cantidad de registro para algunas operaciones masivas, incluida SELECT...INTO, depende del modelo de recuperación activado para la base de datos. Para obtener más información, vea Información general de los modelos de recuperación.

    [!NOTA] En versiones anteriores a SQL Server 2000, la creación de una tabla permanente con SELECT INTO sólo estaba permitida si estaba establecida la opción select into/bulkcopy. En SQL Server 2000 y en versiones posteriores, la opción de base de datos select into/bulkcopy ya no afecta a la posibilidad de crear una tabla permanente mediante SELECT INTO.

Notas

El usuario que ejecuta una instrucción SELECT con la cláusula INTO debe tener el permiso CREATE TABLE en la base de datos de destino.

No se puede utilizar SELECT INTO para crear una tabla con particiones incluso si la tabla de origen tiene particiones. SELECT INTO no utiliza el esquema de partición de la tabla de origen. En su lugar, se crea la nueva tabla en el grupo de archivos predeterminado. Para insertar las filas en una tabla con particiones, debe crear primero la tabla con particiones y, a continuación, utilizar la instrucción INSERT INTO...SELECT FROM.

No se puede utilizar SELECT...INTO con COMPUTE.

Ejemplos

En el ejemplo siguiente se crea la tabla dbo.EmployeeAddresses mediante la selección de siete columnas de varias tablas relacionadas con empleados y direcciones.

USE AdventureWorks;
GO
SELECT c.FirstName, c.LastName, e.Title, a.AddressLine1, a.City, sp.Name AS [State/Province], a.PostalCode
INTO dbo.EmployeeAddresses
FROM Person.Contact AS c
JOIN HumanResources.Employee AS e ON e.ContactID = c.ContactID
JOIN HumanResources.EmployeeAddress AS ea ON ea.EmployeeID = e.EmployeeID
JOIN Person.Address AS a on a.AddressID = ea.AddressID
JOIN Person.StateProvince as sp ON sp.StateProvinceID = a.StateProvinceID;
GO

Vea también

Referencia

SELECT (Transact-SQL)
Ejemplos de SELECT (Transact-SQL)

Otros recursos

Insertar filas mediante SELECT INTO

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

15 de septiembre de 2007

Contenido nuevo:
  • Se agregó la información sobre la tabla con particiones en la sección Notas.
  • Se agregó la sección Ejemplos.