13.25 EXCEPTION_INITプラグマ

EXCEPTION_INITプラグマは、ユーザー定義の例外名をエラー・コードに関連付けます。

EXCEPTION_INITプラグマは、関連付けられた例外と同じ宣言部内の例外宣言の後の任意の場所に指定できます。

ここでのトピック

構文

exception_init_pragma ::=

セマンティクス

exception_init_pragma

exception

事前に宣言されているユーザー定義の例外の名前。

error_code

exceptionに関連付けるエラー・コード。error_codeには、100 (SQLCODEファンクションが戻す「データが見つかりません」)か、または-1403 (「データが見つかりません」の別の数値コード)を除く-1000000より大きい負の整数のいずれかを使用できます。

ノート:

NO_DATA_FOUNDは事前定義の例外です。

2つのEXCEPTION_INITプラグマが、同じユーザー定義例外に対して異なるエラー・コードを割り当てている場合、後のプラグマが前のプラグマをオーバーライドします。

使用上のノート

EXCEPTION_INITプラグマは、Oracleによってすでに意味が定義されたエラー番号に例外を関連付けるためにのみ使用する必要があります。いかなるエラー番号も将来Oracleによって使用される可能性があり、そのような場合はその番号を使用する無関係のアプリケーションとの間で競合が発生することがあることに注意してください。

-65536を超える負の整数は部分的にのみサポートされます。現在は、未処理のままPL/SQLへのエントリの現在のレイヤーの外部に出ると、例外がORA-6515に変換され、元の例外は外部のPL/SQLレイヤーやクライアント・プログラムで認識されません。

アプリケーションで宣言される例外のうち、PL/SQLへのエントリのレイヤー内でのみローカルに呼び出されて捕捉されるものにはEXCEPTION_INITプラグマは必要ありません。RAISE_APPLICATION_ERRORプロシージャおよび関連付けられた-20000から-20999のh範囲のエラー番号は、アプリケーションで宣言された例外を外部のPL/SQLレイヤーまたはクライアント・プログラムで認識できるようにする場合に使用してください。

  • 例11-5内部的に定義された例外への名前付け

  • 例11-13RAISE_APPLICATION_ERRORによるユーザー定義の例外の呼出し

  • 例12-13FORALL文が完了した後のFORALL例外の処理