Duplicar tablas

Estoy desarrollando una aplicación con asp en la que necesito copiar una tabla de una base de datos a otra y francamente no tengo ni idea de como hacerlo.

2 Respuestas

Respuesta
1
Puedes hacerlo de dos maneras, mediante una instrucción SQL (lo más fácil) o cargando el recorset de una de las tablas y, uno a uno, añadir los registros en la otra.
Si ambas tablas tienen la misma estructura, la intrucción SQL "INSERT INTO Tabla2 (SELECT * FROM Tabla1)" te lo hace todo. Si las estructuras son diferentes, la intrucción sería "INSERT INTO Tabla2 (<lista_de_campos_de_Tabla2>) VALUES (SELECT <lista_de_campos_de_Tabla1> FROM Tabla1)". Si los nombres de los campos son diferentes, en la lista de campos de la Tabla1 deberás especificar los "alias" correspondientes. Por ejemplo, si un campo "Apellido" de la Tabla1 equivale al campo "Ape" de la Tabla2, en la lista de campos de la Tabla1 deberás indicar "Apellido AS Ape" o "Ape=Apellido".
Para hacerlo de uno en uno, cargas un recordset con la Tabla1 y otro con la Tabla2. Luego vas leyendo el de la Tabla1, y uno a uno utilizas el método AddNew en el de la Tabla2 y asignas los valores de los campos de la Tabla2 con los de la Tabla1. Cuando hayas acabado todo el recordset de la Tabla1, ejecutas el método UpdateBatch con el recordset de la Tabla2.
Respuesta
1
No tengo muy claro si la copia la realizas en una misma base de datos o en 2 bases de datos diferentes.
Si es la misma, es muy fácil:
execute "create table nombra_tabla as (select * from tabla_origen)"
Si es entre bases de datos, hay que saber más cosas, cómo las conexiones que tienes y sin son 2 SQLs una SQL y una Oracle, etc :)
Iv

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas