Saltar al contenido

SQL Server: ¿crear una copia de una tabla de base de datos y colocarla en la misma base de datos?

Necesitamos tu ayuda para extender nuestras secciones con relación a las ciencias informáticas.

Solución:

Usar SELECT ... INTO:

SELECT *
INTO ABC_1
FROM ABC;

Esto creará una nueva tabla. ABC_1 que tiene la misma estructura de columnas que ABC y contiene los mismos datos. Restricciones (p. ej. keysvalores predeterminados), sin embargo, no se copian.

Puede ejecutar esta consulta varias veces con un nombre de tabla diferente cada vez.


Si no necesita copiar los datos, solo para crear una nueva tabla vacía con la misma estructura de columnas, agregue un WHERE cláusula con una expresión falsa:

SELECT *
INTO ABC_1
FROM ABC
WHERE 1 <> 1;

Copiar esquema (generar DDL) a través de la interfaz de usuario de SSMS

En SSMS expanda su base de datos en Explorador de objetosir Mesashaga clic con el botón derecho en la tabla que le interese y seleccione Tabla de secuencias de comandos como, Crear para, Nueva ventana del editor de consultas. Haz un buscar y reemplazar (CONTROL + H) para cambiar el nombre de la tabla (es decir, poner ABC en el Encontrar que campo y ABC_1 en el Reemplazar con luego haga clic OK).

Copiar esquema a través de T-SQL

Las otras respuestas que muestran cómo hacer esto mediante SQL también funcionan bien, pero la diferencia con este método es que también obtendrá índices, restricciones y activadores.

Copiar datos

Si desea incluir datos, después de crear esta tabla, ejecute el siguiente script para copiar todos los datos de ABC (manteniendo los mismos valores de ID si tiene un campo de identidad):

set identity_insert ABC_1 on
insert into ABC_1 (column1, column2) select column1, column2 from ABC
set identity_insert ABC_1 off

Si desea duplicar la tabla con todas sus restricciones & keys sigue estos pasos a continuación:

  1. Abra la base de datos en SQL Management Studio.
  2. Haga clic derecho en la tabla que desea duplicar.
  3. Seleccione Tabla de secuencias de comandos como -> Crear en -> Nueva ventana del editor de consultas. Esto generará un script para recrear la tabla en una nueva ventana de consulta.
  4. Cambiar el nombre de la tabla y relativo keys & restricciones en el script.
  5. Ejecute el script.

Luego, para copiar los datos, ejecute el siguiente script:

SET IDENTITY_INSERT DuplicateTable ON

INSERT Into DuplicateTable ([Column1], [Column2], [Column3], [Column4],... ) 
SELECT [Column1], [Column2], [Column3], [Column4],... FROM MainTable

SET IDENTITY_INSERT DuplicateTable OFF

Agradecemos que quieras asentar nuestro cometido ejecutando un comentario y dejando una valoración te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *