Pular para o conteúdo principal

Copiar Dados entre Tabelas de bancos de dados diferentes (Firebird)

Copiar Dados entre Tabelas de bancos de dados diferentes (Firebird)


Para copiar dados de uma tabela entre bancos de dados diferentes, o mais indicado é efetuar um INSERT X SELECT

Nesse tutorial, usei o IBExpert

Efetuando um select na base principal, onde os dados estão


Como pode ver a tabela COUNTRY da base principal contem dados.


Efetuando o select na mesma tabela da base de dados, onde será copiado os dados, aqui descrita como Basezerada


Como pode ser visto na imagem abaixo, a tabela desse banco de dados está vazia.



Conectado na base de dados de origem dos dados, informe o Insert para o banco e tabela de destino

INSERT into [BASEDESTINO].TABELA SELECT * from TABELA



Obs. no mone da base deve ser exatamente igual a que está cadastrada no IBEXpert, e sim, coloque o nome dento das [ ]

Esse insert pode ser efetuado da mesma forma de um select. Ex:

INSERT into [BASEDESTINO].TABELA SELECT * from TABELA WHERE data ='2016-01-02'

No exemplo acima, serão copiados os dados da TABELA onde o campo data for IGUAL a 01-02-2016 para o banco de dados de destino.

Não esqueces de dar o comit no insert


Para confirmar que a copia foi feita, execute novamente o select na tabela


O resultado confirma a cópia dos dados para a tabela vazia.



Exemplo abaixo:



Caso a tarefa for migrar todos os dados de um banco de dados para outro que esteja em branco. É mais rápido utilizar o IBPump, que faz a migração de todos os dados de uma unica vez.

Clique aqui para assistir o video