[firebase-br] Loop entre dois bancos...
Levy Moreira
levymoreira.ce em gmail.com
Ter Set 21 09:02:52 -03 2010
Consegui fica assim:
--SELECT * FROM FAT where CLIFAT = 1 and TIPFAT = 'VP'
execute ibeblock
returns( CLINEW integer, CODF integer,CLIF integer, TIPF varchar(5),
CLIANT integer, NMCLI varchar(45))
as
begin
--Cria as conexoes--
create connection dbNew dbname 'c:\dados1.fdb' --Banco atual
password 'masterkey' user 'SYSDBA'
sql_dialect 3
clientlib 'fbclient.dll';
create connection dbAnt dbname 'c:\dados2.fdb' --Banco antigo
password 'masterkey' user 'SYSDBA'
sql_dialect 3
clientlib 'fbclient.dll';
use dbNew;
for execute statement 'select CODFAT, CLIFAT, TIPFAT, CLIANT from "FAT"'
--Loop ..
into :CODF, :CLIF, :TIPF , :CLIANT
do
begin
if (:CLIF = 1 and TIPF='VP') then --...verificando se a Fat perdeu o Cli
begin
use dbAnt;
select CLIFAT from fat where CODFAT = :CODF --Verifica o codigo da
Fat. no bd ant
into :CLIANT;
select NOME01 from cli where CODCLI = :CLIANT --Pega o nome do cli no
bd ant
into :NMCLI;
use dbNew;
select CODCLI from CLI where NOME01 = :NMCLI --Pega o codigo do
cliente no banco atual
INTO :CLINEW;
update FAT set CLIFAT = :CLINEW where CODFAT = :CODF ; --Seta o
cliente na Fat
commit;
end
suspend;
end
close connection dbNew;
close connection dbAnt;
end
Mais detalhes sobre a lista de discussão lista