Sendo banco 10g ou superior (vc Não nos diz essa crucial info) vc pode usar a
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE , cfrme
http://www.oracle-developer.net/display.php?id=318 exemplifica : no caso ele
exibe via DBMS_OUTPUT, mas claro que vc pode gravar numa tabela sua...
Só uma obs : vc pode gravar a exception numa tabela, serve inclusive para log,
legal, mas vc ** TEM ** que sinalizar o consumidor da tua procedure que algo
falhou, provavelmente com algum RAISE, ou mesmo com RAISE_APPLICATION_ERROR -
se vc apenas logar e nada mais, o COnsumidor da tua procedure simplesmente NÂO
TEM como saber que algo deu errado, aí vc estaria simplesmente MASCARANDO,
ENGOLINDO o erro... Via de regra isso Não É uma Boa coisa....
[]s
Chiappa