Как регистрировать все исключения в пакете Oracle?

Я пытаюсь регистрировать все исключения в пакете Oracle. Вот что у меня есть в конце процедуры:

EXCEPTION
   WHEN OTHERS THEN
      INSERT INTO VSLogger (MESSAGE) VALUES ('Caught Exception');

Это работает нормально, однако я также хочу записать в журнал код ошибки и сообщение. Я пробовал:

EXCEPTION
   WHEN OTHERS THEN
      INSERT INTO VSLogger (MESSAGE) VALUES ('Caught Exception: Error ' || SQLCODE || ', Msg: ' || SQLERRM);

Но это дает мне ошибку:

490/7    PL/SQL: SQL Statement ignored
490/100  PL/SQL: ORA-00984: column not allowed here

Как правильно это сделать? Спасибо!

10
задан Mike Christensen 7 February 2012 в 22:19
поделиться