Casa > Q > Qual É A Diferença Entre Raise_Application_Error E Pragma Exception_Init?

Qual é a diferença entre raise_application_error e pragma exception_init?

EXCEPTION_INIT Pragma. O pragma EXCEPTION_INIT associa um nome de exceção com um número de erro Oracle. Você pode interceptar qualquer erro ORA- e escrever um manipulador específico para ele em vez de usar o manipulador OTHERS. ... Você pode usar EXCEPTION_INIT na parte declarativa de qualquer bloco PL/SQL, subprograma ou pacote.

E

The

raise_application_error

é na verdade um procedimento definido pelo Oracle que permite ao desenvolvedor levantar uma exceção e associar um número de erro e uma mensagem com o procedimento. Isto permite que a aplicação possa levantar erros da aplicação em vez de apenas erros Oracle. Os números de erro são definidos entre -20.000 e -20.999,

Oracle fornece o procedimento raise_application_error para permitir que você levante números de erro personalizados dentro de suas aplicações. Você pode gerar erros e seu texto associado começando com -20000 e indo até -20999 (um total de 1.000 números de erro que você pode usar).

Below nós ilustramos o uso do procedimento raise_application_error.

Usando o procedimento raise_application_error:

p>DECLARE
Balance integer := 24;

BEGIN
IF (nBalance <= 100) ENTÃO
Raise_Application_Error (-20343, 'O balanço é muito baixo.');
END IF;
END;
neste exemplo, o número de erro -20343 é aumentado se o valor de nBalance for't maior que 100, produzindo uma mensagem que se parece com isto:
ORA-20343: O balanço é muito baixo.

De Archle Furgerson

Porque é que a Netflix não lança os seus filmes nas salas de cinema? :: Alguém famoso morreu no 11 de Setembro?