スポンサーリンク

[PL/SQL] 例外発生時のエラーメッセージとエラー番号の取得

概要

例外発生時に、例外処理を行った際に、エラーメッセージやエラー番号を表示させたい場合の処理について解説します。

実践

ソースコード

DECLARE
  emp_name VARCHAR2(20);
BEGIN
  BEGIN 
    SELECT name INTO emp_name FROM emp WHERE empid = '10';
  EXCEPTION
    WHEN others THEN
      DBMS_OUTPUT.PUT_LINE(sqlcode);
      DBMS_OUTPUT.PUT_LINE(sqlerrm);
  END;
END;

実行結果

100
ORA-01403: データが見つかりません。

解説

sqlcodeは、エラー番号を取得し、sqlerrmは、エラーメッセージを取得しています。
sqlerrmを使えば、どんなエラーが発生したか明確になります。