Copiar columnas de una tabla a otra (motor de base de datos)

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

En este tema se describe cómo copiar columnas de una tabla a otra, copiando solo la definición de la columna o copiando la definición y los datos en SQL Server usando SQL Server Management Studio o Transact-SQL.

En este tema

Antes de empezar

Limitaciones y restricciones

Cuando se copia una columna con el tipo de datos de alias desde una base de datos a otra, el tipo de datos de alias podría no estar disponible en la base de datos de destino. En ese caso, se asignará a la columna el tipo de datos de base más parecido que esté disponible en la base de datos.

Seguridad

Permisos

Requiere el permiso ALTER en la tabla.

Uso de SQL Server Management Studio

Para copiar definiciones de columna de una tabla a otra

  1. Abra la tabla con columnas que quiere copiar y la tabla en la que la quiere copiar haciendo clic con el botón derecho en las tablas y, después, en Diseño.

  2. Haga clic en la pestaña de la tabla cuyas columnas desea copiar y seleccione esas columnas.

  3. En el menú Edición , haga clic en Copiar.

  4. Haga clic en la pestaña de la tabla en la que desea copiar las columnas.

  5. Seleccione la columna que desea que siga a las columnas insertadas y en el menú Edición , haga clic en Pegar.

Para copiar columnas de datos de una tabla a otra

  1. Siga las instrucciones para copiar las definiciones de columna mencionadas anteriormente.

    Nota

    Antes de empezar a copiar los datos de una tabla a otra, asegúrese de que los tipos de datos de las columnas de destino son compatibles con los tipos de datos de las columnas de origen.

  2. Abra una nueva ventana del Editor de consultas.

  3. Haga clic con el botón derecho en el Editor de consultas y, luego, haga clic en Diseñar consulta en el editor.

  4. En el cuadro de diálogo Agregar tabla , seleccione la tabla de origen y destino, haga clic en Agregary, luego, cierre el cuadro de diálogo Agregar tabla .

  5. Haga clic con el botón derecho en un área abierta del Editor de consultas, seleccione Cambiar tipo y, luego, haga clic en Insertar resultados.

  6. En el cuadro de diálogo Elegir tabla de destino para insertar resultados , seleccione la tabla de destino.

  7. En la parte superior del Diseñador de consultas, haga clic en la columna de origen de la tabla de origen.

  8. El Diseñador de consultas acaba de crear una consulta INSERT. Haga clic en Aceptar para ubicar la consulta en la ventana original del Editor de consultas.

  9. Ejecute la consulta para insertar los datos desde la tabla de origen a la tabla de destino.

Usar Transact-SQL

Para copiar definiciones de columna de una tabla a otra

  1. No puede copiar columnas individuales desde una tabla a otra tabla existente mediante instrucciones Transact-SQL. Sin embargo, puede crear una nueva tabla en el grupo de archivos predeterminado e insertar en ella las filas resultantes de la consulta mediante SELECT...INTO. Para obtener más información, vea SELECT: cláusula INTO (Transact-SQL).

Para copiar columnas de datos de una tabla a otra

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE dbo.EmployeeSales  
    ( BusinessEntityID   varchar(11) NOT NULL,  
      SalesYTD money NOT NULL  
    );  
    GO  
    INSERT INTO dbo.EmployeeSales  
        SELECT BusinessEntityID, SalesYTD   
        FROM Sales.SalesPerson;  
    GO