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