Matheus,

Para mim funcionou pois eu retorno uma string e depois que irei executar.

Grato,

Marcelo

> Em 08/01/2015, à(s) 13:12, Matheus de Oliveira <matioli.math...@gmail.com> 
> escreveu:
> 
> 
> 2015-01-08 8:32 GMT-02:00 Marcelo Florindo <marceloflori...@gmail.com 
> <mailto:marceloflori...@gmail.com>>:
> CREATE OR REPLACE FUNCTION fordenacao(
>     vfield text,
>     vin text)
>   RETURNS text AS
> $BODY$
> DECLARE
> vorder integer DEFAULT 1;
> vindice integer;
> vcodigo integer[] DEFAULT string_to_array(vin,',')::integer[];
> vordenacao text DEFAULT '';
> BEGIN
>       FOR vindice IN array_lower(vcodigo,1)..array_upper(vcodigo,1) LOOP
>               vordenacao      := vordenacao||' WHEN 
> '||vcodigo[vindice]::text||' THEN '||vorder::text;
>               vorder          := vorder + 1;
>       END LOOP;
>       vordenacao      := '(CASE '||vfield||' '||vordenacao||' END)';
>       RETURN vordenacao;
> END;
> $BODY$
>   LANGUAGE
> 
> Muito obrigado pessoal!
> 
> Marcelo,
> 
> Como eu já comentei em [1], essa função está incorreta. Ou estou enganado e 
> alguém quer me ajudar a entender como isso seria uma solução correta?
> 
> [1] 
> http://www.mail-archive.com/pgbr-geral@listas.postgresql.org.br/msg39367.html 
> <http://www.mail-archive.com/pgbr-geral@listas.postgresql.org.br/msg39367.html>
> 
> Atenciosamente,
> -- 
> Matheus de Oliveira
> Analista de Banco de Dados
> Dextra Sistemas - MPS.Br nível F!
> www.dextra.com.br/postgres <http://www.dextra.com.br/postgres/>
> 
> _______________________________________________
> 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