[firebase-br] RES: Select em 2 bancos
Carlos H. Cantu
listas em warmboot.com.br
Qui Out 7 11:36:20 -03 2010
http://www.firebase.com.br/fb/artigo.php?id=1595
[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br
RPM> Levy,
RPM> Desculpe a insistência.
RPM> O que eu quer fazer é o seguinte.
RPM> Tenho 2 tabelas em bancos diferentes com a mesma estrutura e quero fazer uma
RPM> select para unir as duas tabelas. Você teria um exemplo disso?
RPM> Obrigado
RPM> Rogério Polizel Mendes
RPM> Fundação Municipal de Ensino de Piracicaba
RPM> TI Administrativo
RPM> Fone: 19-34121116
RPM> E-mail: rpolizel em eep.br
RPM> -----Mensagem original-----
RPM> De: lista-bounces em firebase.com.br
RPM> [mailto:lista-bounces em firebase.com.br] Em
RPM> nome de Levy Moreira
RPM> Enviada em: quinta-feira, 7 de outubro de 2010 10:38
RPM> Para: FireBase
RPM> Assunto: Re: [firebase-br] Select em 2 bancos
RPM> É sim senhor aki esta um exemplo meu:
RPM> --SELECT * FROM FAT where CLIFAT = 1 and TIPFAT = 'VP'
RPM> execute ibeblock
RPM> returns( CLINEW integer, CODF integer,CLIF integer, TIPF varchar(5),
RPM> CLIANT integer, NMCLI varchar(45))
RPM> as
RPM> begin
RPM> --Cria as conexoes--
RPM> create connection dbNew dbname 'c:\dados1.fdb' --Banco atual
RPM> password 'masterkey' user 'SYSDBA'
RPM> sql_dialect 3
RPM> clientlib 'fbclient.dll';
RPM> create connection dbAnt dbname 'c:\dados2.fdb' --Banco antigo
RPM> password 'masterkey' user 'SYSDBA'
RPM> sql_dialect 3
RPM> clientlib 'fbclient.dll';
RPM> use dbNew;
RPM> for execute statement 'select CODFAT, CLIFAT, TIPFAT, CLIANT from "FAT"'
RPM> --Loop ..
RPM> into :CODF, :CLIF, :TIPF , :CLIANT
RPM> do
RPM> begin
RPM> if (:CLIF = 1 and TIPF='VP') then --...verificando se a Fat perdeu o Cli
RPM> begin
RPM> use dbAnt;
RPM> select CLIFAT from fat where CODFAT = :CODF --Verifica o codigo da
RPM> Fat. no bd ant
RPM> into :CLIANT;
RPM> select NOME01 from cli where CODCLI = :CLIANT --Pega o nome do cli no
RPM> bd ant
RPM> into :NMCLI;
RPM> use dbNew;
RPM> select CODCLI from CLI where NOME01 = :NMCLI --Pega o codigo do
RPM> cliente no banco atual
RPM> INTO :CLINEW;
RPM> update FAT set CLIFAT = :CLINEW where CODFAT = :CODF ; --Seta o
RPM> cliente na Fat
RPM> commit;
RPM> end
RPM> suspend;
RPM> end
RPM> close connection dbNew;
RPM> close connection dbAnt;
RPM> end
Mais detalhes sobre a lista de discussão lista