Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

parametros do pragma exception_init

Qual a necessidade de passar código no parametro, exemplo: e_null exception; pragma exception_init(enull, -1400);

sendo que no tratamento passa outro código: WHEN e_null THEN raise application error(-20015,'A coluna ID tem preenchimento obrigatório');

3 respostas

ninguem pode ajudar? :/

Oi Rodrigo, tudo bem? Estou vendo se encontro alguém pra te ajudar, tá bem? Desculpa a demora.

solução!

Oi Rodrigo,

pelo que entendi com pragma vc associa um código de erro ao um nome, pois nem todos os erros da oracle tem nome:

pragma   exception_init(enull, -1400);

Dessa forma vc pode trata o erro 1400 atraves do nome enull.

Depois, no tratamento, "transformamos" o erro enull para uma lançar uma nova aplication exception com uma mensagem amigavel:

raise_application_error(-20015,'A coluna ID tem preenchimento obrigatório');

O que acontece então é que o cliente recebe um erro -20015 com a descrição A coluna ID tem ... quando internamente dá o erro 1400. A ideia é lançar um novo erro mais fácil de entender para quem usa a rotina. Tudo bem?

abs