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: [email protected]
To: [email protected]
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
[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