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