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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a