アットウィキロゴ

PL/SQL

いつも忘れる例外識別子


ACCESS_INTO_NULL         未初期化オブジェクトに代入した ORA-06530
COLLECTION_IS_NULL       コレクション未初期化 ORA-06531
CURSOR_ALREADY_OPEN      カーソルが既にオープンされている ORA-06511
DUP_VAL_ON_INDEX         キーが重複した ORA-00001
INVALID_CURSOR           カーソルがオープンされていない ORA-01001
INVALID_NUMBER           数値が正しくない ORA-01722
LOGIN_DENIED             ログインできない ORA-01017
NO_DATA_FOUND            SELECT INTO レコードなし ORA-01403
NOT_LOGGED_ON            ログインできていない ORA-01012
PROGRAM_ERROR            PL/SQL 内部エラー ORA-06501
ROWTYPE_MISMATCH         互換性なし ORA-06504
STORAGE_ERROR            PL/SQL メモリ不足 ORA-06500
SUBSCRIPT_BEYOND_COUNT   コネクション要素オーバ ORA-06533
SUBSCRIPT_OUTSIDE_LIMIT  有効範囲外添字 ORA-06532
TIMEOUT_ON_RESOURCE      タイムアウト ORA-00051
TOO_MANY_ROWS            複数行あり ORA-01422
VALUE_ERROR              算術エラー ORA-06502
ZERO_DIVIDE              ゼロの割り算 ORA-01476

  • SQLCODEには値がコードがマイナス付きで設定される。ORA-06511 なら、-6511。但し、ORA-01403 は、SQLCODE として、+100 が返るので注意する。

  • SQLERRM では、SQLCODE に対応するエラーメッセージを取得できる。errmsg := sqlerrm(-6511);

タグ:

Oracle
最終更新:2006年09月27日 18:49