On 05-12-2011 12:37, Thiago wrote:
> On 5/12/2011 13:04, Euler Taveira de Oliveira wrote:
>> On 05-12-2011 11:57, Thiago wrote:
>>> Euler, fiz da forma que me recomendou, utilizando um join, porém ainda
>>> está aparecendo a seguinte mensagem de erro:
>>> There is an entry for table "pr", but it cannot be referenced from this
>>> part of the query.
>>>
>> Ugh? Qual a consulta utilizada? E a assinatura da função?
>
> Consulta:
> select *
> from public.tb_produtos pr
> left join public.sp_est_dem(pr.codigo) as sp(r_codigo,r_est,r_dem) on
> pr.codigo = sp.r_codigo
>
^^^^^^^^^^^^^
Você não pode usar pr.codigo aqui.
Acho que você algo como:
select pr.*,
(public.sp_est_dem(pr.codigo)).r_est,
(public.sp_est_dem(pr.codigo)).r_dem
FROM
public.tb_produtos pr;
> Função:
> CREATE OR REPLACE FUNCTION "public"."sp_est_dem" (
> "p_codigo" integer,
> out "r_codigo" integer,
> out "r_est" integer,
> out "r_dem" inet
> )
> RETURNS SETOF record AS
>
Mas a assinatura deve substituir 'SETOF record' por 'record'.
--
Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral