Pessoal por gentileza uma ajuda com select com order by e case
Estou tentando utilizar em uma Function um order by usando case conforme
abaixo
Porem não estou conseguindo utilizar o Desc ou Asc.
Observação Se não utiliza-lo funciona perfeitamente
alguém sabe dizer como utilizar desta forma? Alguém recomenda, utiliza
assim?
Muito Obrigado pela atenção
Jairo de Melo Lázaro
CREATE OR REPLACE FUNCTION vrj.pkg_teste
(
--- PARÂMETROS
--- I/O NOME TIPO
--- *** ******************************
*************************************************
refcursor,
IN p_ordem VARCHAR(1)
)
RETURNS refcursor AS
$BODY$
BEGIN
OPEN $1 FOR
SELECT
pvd.id_pedido_venda,
pvd.cd_cliente,
pvd.nr_pedido
FROM
vrj.tb_pedido_venda AS pvd
ORDER BY
CASE UPPER(p_ordem)
WHEN 'C' THEN (pvd.cd_cliente ASC , pvd.nr_pedido ASC)
WHEN 'D' THEN (pvd.nr_pedido DESC, pvd.cd_cliente ASC)
END;
RETURN $1;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
SELECT vrj.pkg_teste('dados','D');
FETCH ALL In dados;
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral