On Mon, May 4, 2015 at 11:06 PM, Douglas Fabiano Specht <
[email protected]> wrote:

>
>
> retornando o erro:
> ERROR:  query has no destination for result data
> HINT:  If you want to discard the results of a SELECT, use PERFORM instead.
> CONTEXT:  PL/pgSQL function get_historico_mensagem(integer,character
> varying) line 11 at SQL statement
>
>
>
> CREATE OR REPLACE FUNCTION public.get_historico_mail(
> ...
> SELECT row_to_json(r)
> ...
>

O problema é que você executa essa consulta e não usa o retorno desta em
nenhum lugar. Além disso, sua função não faz retorno algum. Se você quiser
retornar o resultado do row_to_json, você deve salvar numa variável (usando
o INTO) e retorná-la, algo como:

    DECLARE
        ret json;
    ...
        -- Executa a query e salva o resultado em "ret":
        SELECT row_to_json(r) INTO ret
        FROM ... <resto do SELECT>
        -- Retorna a variável "ret" na função:
        RETURN ret;
    ...

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a