On Fri, Oct 30, 2009 at 9:04 AM, serginho_pv <[email protected]> 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-TRAPPING http://www.postgresql.org/docs/8.4/interactive/plpgsql-errors-and-messages.html Note 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 [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
