Minha sugestão: crie *views *relativas a cada banco/tabela. Assim fica fácil executar as junções.
2008/9/24 tetraetila(R) <[EMAIL PROTECTED]> > Ok! Guilherme, muito obrigado! > > Mais o problema é integrar o DBLink dentro do meu select, onde ele faz > referência a tabela de outro BD seria intercalado o select do DBLink. Fazer > o DBLink sozinho eu sei, como montar o select completo é que não. Tipo: > > > > select a017.a017_docu, a017.a017_tipo, ** DBLINK a014_desc **, > a017.a017_dtem, > > a017.a017_tpfo, a017.a017_forn, ** DBLINK a001_nome **, > a017.a017_hist, > > a017.a017_dtvn, a017.a017_vavn, a017.a017_dtpg, a017.a017_vapg, > > a017.a017_atra, a017.a017_cdbx, a017.a017_banc, ** DBLINK a016_desc ** > , > > a017.a017_cheq, a017.a017_his1, a017.a017_digi, a017.a017_plan, **DBLINK > a011_desc **, > > a017.a017_dupl, a017.a017_docu as ca017_docu, a017.a017_tipo as > ca017_tipo > > > > from a001017_tbl a017 > > > > left outer join a001014_tbl on (a017.a017_tipo = a001014_tbl.a014_chv) > > left outer join a001001_tbl on (a017.a017_tpfo = > a001001_tbl.a001_tipo) and (a017.a017_forn = a001001_tbl.a001_chv) > > left outer join a001016_tbl on (a017.a017_banc = a001016_tbl.a016_chv) > > left outer join a001011_tbl on (a017.a017_plan = > a001011_tbl.a011_redu) > > > Adilson Nunes > > > > ----- Original Message ----- > *From:* Guilherme Vianna de Aguiar <[EMAIL PROTECTED]> > *To:* 'Comunidade PostgreSQL Brasileira'<[email protected]> > *Sent:* Wednesday, September 24, 2008 9:53 AM > *Subject:* [pgbr-geral] RES: Ajuda com SQL e BD > > Para usar dblink, você precisa ter instaladas as funções. > > > > A sintaxe eh > > select * > > from ('_CONN_BANCO_REMOTO_', '_*SELECT*_BANCO_REMOTO') > > as t1 (_COL_BANCO_REMOTO_ tipo); > > > > Um exemplo > > > > select * > > from dblink('dbname=teste hostaddr=10.0.0.0 user=postgres > password=postgres port=5432', > > 'select data > > from dw_data > > where substring(data::varchar, 1, 7) = ''2008-08'' ') > > as t1(data varchar) > > > > [], > > Guilherme Vianna > > > > > > *De:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *Em nome de *tetraetila(R) > *Enviada em:* terça-feira, 23 de setembro de 2008 23:34 > *Para:* [email protected] > *Assunto:* [pgbr-geral] Ajuda com SQL e BD > > > > Estou precisando de uma ajuda, o Firebird não me serve. Preciso aprender a > fazer o DBLink no Postgres > > para poder utilizar mais de um BD na minha aplicação. Qualquer ajuda será > bem vinda. > > Veja a situação abaixo: > > > > > --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > > > Olá > > > Estou migrando um sistema para Firebird e me deparei com um problema que > gostaria de debater com vocês. > Tenho um BD que possui as tabelas com os dados de clientes, fornecedores, > transportadores e vendedores, além > das tabelas de tipos de documentos, plano de contas, bancos, etc. Seria a > base principal. > > Quando estou na Empresa01 faço um "select" que me retorna o tipo de > documento na tabela A017 e a descrição do > documento que está na tabela A014, o tipo de fornecedor na tabela A017 e o > nome do fornecedor na tabela A001 > e por aí vai, vendedores, transportadores, plano de contas, etc. A tabela > A017 é de movimentação de contas a pagar, porém no sistema > eu trabalho com as Empresas02, 03, "n"... As tabelas padrões são as mesmas, > eu mudo apenas os arquivos de movimentação > para outro BD. O problema é que eu não sei como fazer isto ou se é possível > fazê-lo no Firebird. Ou seja, dar um "select" que > busque dados em dois BD's distintos. Quando o banco de dados é o mesmo o > "select" abaixo funciona perfeitamente, > porém quando mudo para a Empresa02 não funciona, pois não sei buscar as > informações das tabelas A014 - > A001 - A016 - A011 que estão no BD001. Isto que necessito seria em > Postgres, um "DBLink", já andei pesquisando. > > Se alguém tiver uma sugestão que possa me ajudar mesmo que seja fazer o > "DBLink" no Postgress, agradeço desde já. > Pois esta está sendo a "pedra no meu caminho" para terminar o sistema, > resolvendo isto vários problemas serão > > solucionados de uma vez só. Estamos saindo do Clipper e DBF. > > > > Muito obrigado! > > Vejam o select que funciona quando o BD é único: > > select a017.a017_docu, a017.a017_tipo, A014_DESC, a017.a017_dtem, > a017.a017_tpfo, a017.a017_forn, A001_NOME, a017.a017_hist, > a017.a017_dtvn, a017.a017_vavn, a017.a017_dtpg, a017.a017_vapg, > a017.a017_atra, a017.a017_cdbx, a017.a017_banc, A016_DESC, > a017.a017_cheq, a017.a017_his1, a017.a017_digi, a017.a017_plan, A011_DESC, > a017.a017_dupl, a017.a017_docu as ca017_docu, a017.a017_tipo as ca017_tipo > > from a001017_tbl a017 > > left outer join a001014_tbl on (a017.a017_tipo = a001014_tbl.a014_chv) > left outer join a001001_tbl on (a017.a017_tpfo = a001001_tbl.a001_tipo) > and (a017.a017_forn = a001001_tbl.a001_chv) > left outer join a001016_tbl on (a017.a017_banc = a001016_tbl.a016_chv) > left outer join a001011_tbl on (a017.a017_plan = a001011_tbl.a011_redu) > > > O que retornaria mais ou menos conforme abaixo: > > > > --------------------------------------------------------------------------------------------------------------------- > A017_DOCU | A017_TIPO | A014_DESC | A017_DTEM | A017_TPFO | A017_FORN | > A001_NOME | > > --------------------------------------------------------------------------------------------------------------------- > 52.521-U | 003 | Duplicatas |16/09/2008 | > 001 | 000565 | Santa Maria S/A. | > > ---------------------------------------------------------------------------------------------------------------------- > 36.878-A | 005 | Cheques |16/08/2008 | > 001 | 000098 | Papelão & Cia. | > > ---------------------------------------------------------------------------------------------------------------------- > 14.315-B | 001 | Pagamentos |16/09/2007 > | 001 | 000001 | Pagamentos diversos | > > ---------------------------------------------------------------------------------------------------------------------- > > > > Adilson Nunes > > > > No virus found in this incoming message. > Checked by AVG - http://www.avg.com > Version: 8.0.169 / Virus Database: 270.7.1/1688 - Release Date: 24/9/2008 > 06:29 > > ------------------------------ > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- William Leite Araújo Analista de Banco de Dados - QualiConsult
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
