Ola Matheus, boa tarde,
Antes de qquer coisa quero agradecer tua atencao.

Entao eu vou colocar aqui a estrutura da minha pl pra vc entender melhor:

CREATE OR REPLACE FUNCTION public.lucratividade_detalhada (Pd1 Date, Pd2
Date)
RETURNS TABLE (
  ID_OS integer,
  DATA DATE,
  ID_CLIENTE integer,
  NOME VARCHAR(100),
  ID_PRODUTO INTEGER,
  CODFOR VARCHAR(100),
  CODBAR VARCHAR(100),
  DESCRICAO VARCHAR(100),
  UNIDADE VARCHAR(2),
  QTDE NUMERIC(10,3),
  CUSTO NUMERIC(10,2),
  DESCONTO NUMERIC(10,2),
  UNITARIO NUMERIC(10,2),
  TOTAL_LIQUIDO NUMERIC(10,2),
  TOTAL_BRUTO NUMERIC(10,2),
  TOTAL_CUSTO NUMERIC(10,2),
  LUCRO NUMERIC(10,2),
  MARCKUP NUMERIC(10,2),
  ML NUMERIC(10,2),
  TIPO CHAR(10)
) AS
$body$
DECLARE


veja que em return TABLE eu defino a estrutura que desejo retornar. entao
se eu retornar qquer coisa que seja diferente desta estrutura da pau.

Vou colocar aqui teu exemplo:

IF (p_resumido) THEN
        RETURN QUERY SELECT foo, bar, null, null FROM ...
ELSE
       RETURN QUERY SELECT foo, bar, baz, zaz FROM ...
END IF;


entao o PG nao aceita vc mudar a estrutura no select de retorno que seja
diferente da estrutura declarada na PL.

Entendeu???



[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 25 de fevereiro de 2016 14:51, Matheus de Oliveira <
matioli.math...@gmail.com> escreveu:

>
> 2016-02-24 15:33 GMT-03:00 lu moraes santos <djrlumor...@gmail.com>:
>
>> pelo que estou vendo no seu codigo, voce preenche os campos que nao serao
>> retornados com null para atender a estrutura que foi definida no return
>> table???
>>
>>
> Correto.
>
> Se sim como ficaria no caso de fazer um agrupamento??/
>>
>
> Da mesma forma, não entendi a dúvida.
>
> Atenciosamente,
> --
> Matheus de Oliveira
>
>
>
> _______________________________________________
> 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

Responder a