Share via


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

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

En este tema

  • Antes de empezar:

    Limitaciones y restricciones

    Seguridad

  • Para copiar columnas mediante:

    SQL Server Management Studio

    Transact-SQL

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.

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar SQL Server Management Studio

Para copiar definiciones de columna de una tabla a otra

  1. Abra la tabla con columnas que desea copiar y en la que la desea copiar haciendo clic con el botón secundario en las tablas y, a continuación, 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. En el Explorador de objetos, haga clic con el botón secundario en Vista nodo y a continuación haga clic en Nueva vista.

  3. En el menú Diseñador de consultas, seleccione Cambiar tipo y, a continuación, haga clic en Insertar resultados.

  4. En el cuadro de diálogo Elegir tabla de destino para Insertar resultados, seleccione la tabla a la que desea copiar los datos y, a continuación, elija Aceptar.

    Si va a copiar datos dentro de una tabla, puede agregar la tabla de origen como tabla de destino.

    [!NOTA]

    El Diseñador de consultas no puede determinar con antelación las tablas y las vistas que se pueden actualizar. Por tanto, la lista de tablas del cuadro de diálogo Elegir tabla de destino para Insertar resultados mostrará todas las tablas y las vistas disponibles en la conexión de datos que está consultando, incluidas aquellas en las que no puede copiar filas.

  5. Haga clic con el botón secundario en el cuerpo del panel Diagrama y, en el menú contextual, haga clic en Agregar tabla a diagrama.

  6. En el cuadro de diálogo Agregar tabla, seleccione cada una de las tablas cuyos datos desea copiar, haga clic en Agregar y, a continuación, en Cerrar.

    Las tablas aparecen en el panel Diagrama en forma abreviada.

  7. En las tablas abreviadas, active las casillas de todas las columnas de las que desea copiar datos.

  8. En el panel Criterios, en la columna Anexar, elija para cada columna de destino una columna de la que desea copiar datos.

  9. Indique las filas que desea copiar especificando condiciones de búsqueda en el panel Criterios. Para obtener información detallada, vea Especificar condiciones de búsqueda (Visual Database Tools).

    Si no especifica ninguna condición de búsqueda, se copiarán todas las filas de la tabla de origen en la tabla de destino.

  10. Si desea copiar información de resumen, especifique opciones de Agrupar por. Para obtener información detallada, vea Resumir o agregar los valores de todas las filas de una tabla (Visual Database Tools).

  11. Haga clic en el botón Ejecutar SQL para ejecutar la consulta.

    Cuando se ejecuta una consulta de inserción de resultados, los resultados no se incluyen en el panel Resultados. En su lugar, aparece un mensaje que indica cuántas filas se han copiado.

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar Transact-SQL

Para copiar definiciones de columna de una tabla a otra

  • 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 INTO (cláusula de Transact-SQL).

Para copiar columnas de datos de una tabla a otra

  1. En el Explorador de objetos, conéctese a una instancia de 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 AdventureWorks2012;
    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
    

Icono de flecha usado con el vínculo Volver al principio[Arriba]