Subject Como obter as informações distintas em duas bases de d ados
Author Allan 20024

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