Subject | Como obter as informações distintas em duas bases de d ados |
---|---|
Author | Allan 20024 |
Post date | 2013-11-04T18:15:41Z |
Olá pessoal, olha o cenário:
Sistema operacional Windows, firebird 2.52 + delphi XE4 com firedac
Tenho duas bases de dados, uma local e outra na rede, preciso obter as informações distintas de uma tabela, ou seja, que tem numa base de não tem na outra, gostaria de achar uma forma de fazer uma espécie de select, pois estou enfrentando problema de performance, estou fazendo um select em cada registro da origem na tabela destino, mais ou menos assim:
TAbelaOrigem.first;
While not TabelaOrigem.eof do begin
TabelaDestino.open(‘Select * from tabeladestino where controle = ‘TabelaOrigemCOntrole.asstring);
If TabelaDestino.isempty then begin
TabelaDestino.append;
TabelaDestinoCampo.asstring := TabelaOrigemCampo.asstring;
TabelaDestino.post;
End;
TabelaOrigem.next;
End;
Só que isso demora muito, pois toda vez ele fará todos esses milhares de selects no destino, teria como melhorar isso através de outra tecnologia ou forma de codificar?
Muito obrigado.
Rafa