[firebase-br] Select em 2 bancos

Levy Moreira levymoreira.ce em gmail.com
Qui Out 7 10:38:23 -03 2010


É sim senhor aki esta um exemplo meu:

--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

-- 
Levy Moreira - Sistech Informática
Juzeiro do Norte - Ce



Mais detalhes sobre a lista de discussão lista