ヘッダーをスキップ
Oracle Rdb SQLリファレンス・マニュアル
リリース7.2
E06178-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

付録A
エラー・メッセージ

この付録の内容は、次のとおりです。

A.1 エラー・メッセージの種類および形式

メッセージは、SQLのみでなく、基底ソフトウェアからも表示される場合があります。

SQLの使用時に表示されるメッセージは、次のレベルから生成されます。

エラー・メッセージの生成元とは無関係に、メッセージの形式は同じです。すべてのエラー・メッセージには、次の要素が含まれます。

エラー・メッセージの一部またはすべての要素の表示は、DCLでSET MESSAGEコマンドを使用して抑制できます。

表A-1 エラー・メッセージの重大度コードの説明
コード 重大度 説明
S 成功 コマンドが正常に実行されたことを示す。
I 情報 ソフトウェアによって行われた処理を報告する。
W 警告 エラー状態を示すが、是正処置が不要な場合もある。
E エラー 致命的ではないが、処置または修正が必要な状態を示す。
F 致命的 致命的であり、処置または修正が必要な状態を示す。

A.2 エラー・メッセージのドキュメント

エラー・メッセージは頻繁に更新されるため、ドキュメントは次のテキスト・ファイルで提供されます。

メッセージのドキュメントは、すべての機能に関して同じ形式であり、メッセージはメッセージ名のアルファベット順に記載されています。メッセージ名とテキストの後には、その説明と、推奨されるユーザー処理が記載されています。

メッセージ・ドキュメントのオンライン・ファイルは、新規バージョンのSQLをインストールしなくても更新される場合があります。特に、Oracle Rdbデータベースのインストールでは、RDB_MSG.DOCファイルが最新のファイルに置き換えられる場合があります。

メッセージ・ドキュメントのオンライン・ファイルは、印刷して参照できます。また、必要なメッセージ情報をファイルで検索することもできます。

A.3 SQL文の使用時に生成されるエラー

SQLを使用するアプリケーション・プログラムを記述するときは、次のいずれかの方法でエラー・メッセージを返す必要があります。

SQLオプションを使用したエラー処理の詳細は、『Oracle Rdb7 Guide to SQL Programming』を参照してください。

表A-2に、SQL文と、SQL文によって実行時に通常生成されるエラーを示します。これは完全なリストではありません。2列目にはエラー・メッセージのステータス・コードが、3列目にはSQLCAのSQLCODEフィールドの対応する値が示されています。SQLCODE値の詳細は、付録Cを参照してください。

表A-2 実行時に生成されるSQLエラー
SQL文 エラーのステータス・コード2 SQLCODE値
ALTER DOMAIN SQL$_BAD_LENGTH --1029
  SQL$_BAD_SCALE --1030
  SQL$_NO_SUCH_FIELD --1027
ALTER TABLE RDB$_DEADLOCK --913
  RDB$_INTEG_FAIL --1001
  RDB$_LOCK_CONFLICT --1003
  RDB$_NO_PRIV --1028
  RDB$_READ_ONLY_REL --1031
  RDB$_READ_ONLY_TRANS --817
  RDB$_READ_ONLY_VIEW --1031
  RDB$_REQ_NO_TRANS なし1
  SQL$_BAD_LENGTH --1029
  SQL$_BAD_SCALE --1030
  SQL$_COLEXISTS --1023
  SQL$_FLDNOTDEF --1024
  SQL$_FLDNOTINREL --1024
  SQL$_NO_SUCH_FIELD --1027
ATTACH RDB$_REQ_WRONG_DB --1020
CLOSE SQL$_CURNOTOPE --501
COMMIT RDB$_DEADLOCK --913
  RDB$_INTEG_FAIL --1001
  RDB$_LOCK_CONFLICT --1003
  SQL$_NO_TXNOUT --1005
CREATE DOMAIN SQL$_FIELD_EXISTS --1026
CREATE VIEW RDB$_DEADLOCK --913
  RDB$_LOCK_CONFLICT --1003
  SQL$_NO_SUCH_FIELD --1027
  SQL$_REL_EXISTS --1025
DELETE RDB$_DEADLOCK --913
  RDB$_INTEG_FAIL --1001
  RDB$_LOCK_CONFLICT --1003
DELETE...WHERE RDB$_DEADLOCK --913
CURRENT OF... RDB$_INTEG_FAIL --1001
  SQL$_CURNOTOPE --501
  SQL$_FETNOTDON --508
FETCH RDB$_DEADLOCK --913
  RDB$_LOCK_CONFLICT --1003
  RDB$_STREAM_EOF 100
  SQL$_CURNOTOPE --501
  SQL$_NULLNOIND --305
INSERT RDB$_ARITH_EXCEPT --304
  RDB$_DEADLOCK --913
  RDB$_INTEG_FAIL --1001
  RDB$_LOCK_CONFLICT --1003
  RDB$_NO_DUP --803
  RDB$_NO_PRIV --1028
  RDB$_NOT_VALID --1002
  RDB$_OBSOLETE_METADATA --1032
  RDB$_READ_ONLY_REL --1031
  RDB$_READ_ONLY_TRANS --817
  RDB$_READ_ONLY_VIEW --1031
  RDB$_REQ_NO_TRANS なし1
  RDB$_REQ_WRONG_DB --1020
  RDB$_UNRES_REL --1033
OPEN RDB$_DEADLOCK --913
  RDB$_LOCK_CONFLICT --1003
ROLLBACK SQL$_NO_TXNOUT --1005
SET TRANSACTION RDB$_DEADLOCK --913
  RDB$_LOCK_CONFLICT --1003
  SQL$_BAD_TXN_STATE --1004
シングルトンSELECT RDB$_DEADLOCK --913
  RDB$_LOCK_CONFLICT --1003
  SQL$_NULLNOIND --305
  SQL$_SELMORVAL --811
UPDATE RDB$_DEADLOCK --913
  RDB$_INTEG_FAIL --1001
  RDB$_LOCK_CONFLICT --1003
  RDB$_NO_DUP --803
  RDB$_NOT_VALID --1002
  RDB$_READ_ONLY_REL --1031
UPDATE...WHERE RDB$_DEADLOCK --913
CURRENT OF... RDB$_INTEG_FAIL --1001
  RDB$_LOCK_CONFLICT --1003
  RDB$_NO_DUP --803
  RDB$_NOT_VALID --1002
  SQL$_CURNOTOPE --501
  SQL$_FETNOTDON --508


1数値は不定です。SQLCODEで負の値をチェックします。
2-1は、どの特定のエラーにも該当しない一般エラーSQLCODE値です。意味のあるエラーを返すには、sql_signalまたはsql_get_error_textを使用します。

A.4 プリコンパイラおよびモジュール言語のエラーの識別

SQLプリコンパイラおよびSQLモジュール言語プロセッサでは、ANSI/ISO SQL規格に準拠していない構文の識別(フラグ付け)が可能です。詳細は、第3章および第4章を参照してください。

SQLプリコンパイラおよびSQLモジュール言語のエラー・メッセージには、次のようにフラグが付けられます。


EXEC SQL SELECT SUM(DISTINCT QTY), AVG(DISTINCT QTY)    /* multiple distincts*/
%SQL-I-NONSTADIS, (1) The standard only permits one DISTINCT in a select expression
    INTO :int1, :int2 FROM D.SP;            /*    in a query     */