A veces tenemos dos bases de datos que tienen tablas iguales o similares. Y como en una/s tabla/s de una de esas bases de datos ya se han insertado bastantes filas, nos gustaría simplemente copiar esas filas a la otra Base de Datos.

Hay muchas formas de realizar esa tarea, esta es una de ellas, es muy útil cuando son varias las tablas cuyos contenidos deseamos copiar aunque por supuesto podríamos usarla para copiar los datos de una sola tabla.

Veamos un ejemplo:

En una Base de Datos tenemos una tabla llamada BANCOS, que ya tiene insertadas varias filas:

EMS1

Captura 1. Si haces clic en la imagen la verás más grande

y esas mismas filas queremos copiar en la tabla BANCOS de otra Base de Datos. Para ello, hacemos clic con el botón derecho sobre el nombre de la Base de Datos original, o sea la que tiene las filas que deseamos insertar.

EMS2

Captura 2. Si haces clic en la imagen la verás más grande

en el menú contextual que nos aparece elegimos Tasks y luego Extract Database…

EMS3

Captura 3. Si haces clic en la imagen la verás más grande

a continuación marcamos la opción Extract all metadata and data of the database y hacemos clic en el botón “Next”

EMS4

Captura 4. Si haces clic en la imagen la verás más grande

ahora, elegimos la opción Automatically load to Script Editor y luego clic sobre el botón “Next”

EMS5

Captura 5. Si haces clic en la imagen la verás más grande

en la siguiente pantalla elegimos como queremos extraer las columnas de tipo BLOB, y en la que aparece a continuación podemos desmarcar todas las opciones porque no nos harán falta para lo que deseamos hacer

EMS6

Captura 6. Si haces clic en la imagen la verás más grande

después de un clic sobre el botón “Next” veremos esta pantalla:

EMS7

Captura 7. Si haces clic en la imagen la verás más grande

donde tendremos que hacer clic sobre el botón “Finish” para que empiece el proceso (sí, ya sé que es medio raro tener que hacer clic sobre el botón “Finish” para que algo empiece, pero bueno, así está). Cuando el proceso se haya completado hay que hacer clic sobre el botón “Close” y nos mostrará todos los metadatos y todos los datos de nuestra Base de Datos en forma de script.

Así que ahora buscamos el comando INSERT INTO BANCOS y seleccionamos y copiamos (con CTRL+C) todas las filas que  tienen ese comando:

EMS8

Captura 8. Si haces clic en la imagen la verás más grande

después abrimos la otra Base de Datos, y elegimos las opciones Tools y a continuación New SQL Script

EMS9

Captura 9. Si haces clic en la imagen la verás más grande

en la ventanita que aparece pegamos con CTRL+V lo los comandos INSERT INTO que habíamos copiado y finalmente hacemos clic en la opción Execute script

EMS10

Captura 10. Si haces clic en la imagen la verás más grande

y listo, asunto concluido. Todas las filas de la tabla BANCOS que se encontraban en una Base de Datos fueron copiadas a la otra Base de Datos, muy fácilmente y con muy poco esfuerzo.

Hay que aclarar que esta no es la forma más rápida de copiar las filas, pero es una forma práctica y sencilla cuando las filas a copiar no son muchas, quizás hasta unas pocas centenas y además si es algo esporádico. Si las filas son muchas o si este proceso de copia se va a realizar frecuentemente entonces hay que elegir otro método.

Artículos relacionados:

El índice del blog Firebird21

El foro del blog Firebird21