[firebase-br] Select em 2 bancos

DanielN danieln.desenvol em supersoft.com.br
Qui Out 7 11:14:17 -03 2010


Levy vc saberia me dizer se existe alguma maneira de fazer um tratamento 
caso o fdb não exista?

Grato
Daniel Nicoletti


Em 07/10/2010 10:38, Levy Moreira escreveu:
> É 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
>
>    





Mais detalhes sobre a lista de discussão lista