Em 8 de fevereiro de 2011 17:54, Eder Sousa <[email protected]> escreveu:
> Boa tarde!!!
> Existe alguma forma de "pegar" o erro que ocorreu, sem utilizar o
> exception?
>
>
Sem o "BEGIN...EXCEPTION..." não...
> create or replace function errodivisaoporzero() returns text as
> $$
> declare
> valor1 integer;
> valor2 integer;
> resultado decimal(10,2);
> begin
> valor1 = 10;
> valor2 = 0;
> resultado = valor1 / valor2
>
> FUNCAO_TESTA_ERRO() -- NESTE PONTO CHAMAR UMA FUNÇÃO GENERICA PARA
> TRATAMENTO DE ERROS;
> end
> $$
> language plpgsql volatile;
>
>
>
Tente assim:
create or replace function errodivisaoporzero() returns text as
$$
declare
valor1 integer;
valor2 integer;
resultado decimal(10,2);
begin
begin
valor1 = 10;
valor2 = 0;
resultado = valor1 / valor2;
exception
when others then
perform FUNCAO_TESTA_ERRO(); -- NESTE PONTO CHAMAR UMA FUNÇÃO
GENERICA PARA TRATAMENTO DE ERROS;
end;
end
$$
language plpgsql volatile;
--
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral