Em 16/12/2014 18:11, "Matheus Saraiva" <matheus.sara...@gmail.com> escreveu:
>
> Em Ter, 2014-12-16 às 17:56 -0200, Matheus de Oliveira escreveu:
> >
> > 2014-12-16 17:47 GMT-02:00 Matheus Saraiva
> > <matheus.sara...@gmail.com>:
> >         Ao usar a seguinte função
> >
> >         http://paste.ubuntu.com/9543365/
> >
> >         Estou recebendo um erro, informando que a função atingiu o fim
> >         e não encontrou um retorno. Não tenho muita experiência com
> >         PLPGSQL mas acredito que o retorno final está lá (RETURN
> >         sucess;)
> >
> >
> > Aquele RETURN na linha 27 está dentro do bloco de exceções. Mova essa
> > linha para antes da EXCEPTION, linha 15.
> >
>
> Ok, deu certo. Esse bloco exception é diferente do que eu imaginava,
> achei quele ele terminasse quando não encontrasse mais clausulas when
> then. Pelo visto ele não tem um delimitador que marque o seu fim.

O final de cada WHEN seria até encontrar o próximo WHEN ou, no caso do
último,  até encontrar a cláusula END. Lembre-se que você pode aninhar
blocos BEGIN/EXCEPTION/END, assim você pode ter um bloco interno:

BEGIN
...
    BEGIN
    ...
    EXCEPTION
    ...
    END
    RETURN ...;
END;
> --
> Matheus Saraiva da Silva
> Chapecó - SC
>
> _______________________________________________
> 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