On Fri, Oct 30, 2009 at 9:04 AM, serginho_pv <
serginho_pv@...> wrote:
>
> Criei a procedure abaixo, mas gostaria que ela enviasse um aviso caso
>
> CREATE OR REPLACE FUNCTION sp_ins_idioma (varchar,varchar)
Ao invés de usar DECLARE só para aliases, podes fazer o seguinte:
CREATE OR REPLACE FUNCTION sp_ins_idioma (p_cod_idioma varchar,
p_idioma varchar)
> houvesse algum problema, como por ex, violação de chave, campo null, etc..
> Estou utilizando PostgreSQL 8.4 for windows
Use controle de exceções e o RAISE:
http://www.postgresql.org/docs/8.4/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPINGhttp://www.postgresql.org/docs/8.4/interactive/plpgsql-errors-and-messages.htmlNote que se o seu INSERT tentar, por exemplo, inserir um valor NULL
num campo NOT NULL, o PG não vai deixar e vai abortar a transação da
função, lançando o erro para o cliente. O controle de exceções e raise
te deixam controlar melhor a mensagem que é lançada par algo mais
significativo para sua aplicação, mas seria um erro tentar duplicar o
sistema de erros do PG.
Roberto
_______________________________________________
pgbr-geral mailing list
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral