[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