Olá, Pela view realmente não vai funcionar. Vc terá que fazer uma função create or replace function consulta_estoque(in pwhere text, out "Código Produto" integer, out "Estoque Atual" numeric) return setof record as $$declare r record; comando text;begin comando := 'SELECT produto, estoque FROM estoque ' || ' where' || pwhere; for r in SELECT produto, estoque FROM dblink('dbname=sao_paulo', comando) AS tabela( produto INTEGER, estoque NUMERIC ) loop "Código Produto" := r.produto; "Estoque Atual" := r.estoque; return next; end loop; return;end;$$ language plpgsql;
Vlw. Claudio Oliveira http://www.msisolucoes.com.br Date: Wed, 16 Nov 2011 15:06:30 -0200 From: vinicius.santos.li...@gmail.com To: pgbr-geral@listas.postgresql.org.br Subject: [pgbr-geral] View com DB-Link Boa tarde pessoal, Estou com uma dúvida com uma funcionalidade que estou precisando muito. Tenho uma view +/- assim: CREATE OR REPLACE VIEW consultar_sao_paulo AS SELECT produto, estoque FROM dblink('dbname=sao_paulo', 'SELECT produto, estoque FROM estoque' ) AS tabela( produto INTEGER, estoque NUMERIC ). Até aí tudo bem, então chamo esta view assim: SELECT * FROM consultar_sao_paulo WHERE produto = 31587. O grande problema é que a cláuse WHERE não é passada para o DB-LINK, então primeiro ele faz a seleção completa da tabela estoque no banco sao_paulo, e depois o filtro. Não faço a menor idéia de como contornar isto, e isto é funcionalidade crucial para nossa aplicação hoje. Se realmente não há ainda uma maneira de resolver, será que seria difícil um patch para isto ? Alguém conhece as entranhas do fonte do DB-LINK, e sabe me dizer se vale a pena correr atrás de um patch ? _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral