SQLSTATE は、最後に実行された SQL 文が成功、エラー、または警告条件になったかどうかを示します。
文字列
データベースサーバーは、実行する各 SQL 文に対して、SQLSTATE と SQLCODE を設定します。SQLSTATE は、最後に実行された SQL 文が成功、警告、またはエラー条件になったかどうかを示す文字列です。
各 SQLSTATE は、すべてのプラットフォームに共通するエラーを表し、通常は製品共通の表現が含まれてます。SQLSTATE 値のフォーマットは、2 文字クラス値の後ろに 3 文字サブクラス値が続きます。クラス値とサブクラス値に関する SQLSTATE 適合のガイドラインは、ISO/ANSI SQL 標準に概説されています。
SQL Anywhere は、ISO/ANSI の SQLSTATE 規則に準拠しており、次の追加項目と例外項目があります。
クラスとサブクラス | 条件 |
---|---|
01WCx | 文字セット変換に関する警告 |
38xxx | 外部関数の例外 |
42Xxx | 構文エラー:式 |
42Rxx | 構文エラー:参照整合性 (たとえば、2 つ目のプライマリキーを作成しようとした場合) |
42Wxx | 構文エラー:汎用 |
42Uxx | 構文エラー:重複したオブジェクト参照、定義されていないオブジェクト参照、またはあいまいなオブジェクト参照 |
42Zxx | アクセス違反 |
54Wxx | 製品の制限超過 |
55Wxx | オブジェクトが操作を成功させるために必要なステータスにない |
57xxx | リソース使用不可またはオペレーター介入 |
5Rxxx | SQL Remote のエラー |
WBxxx | オンラインバックアップのエラー |
WIxxx | データベースの内部エラー |
WPxxx | プロシージャー、変数などでのエラー |
WLxxx | ロードかアンロードまたはその両方のエラー |
WWxxx | SQL Anywhere 固有のその他のエラー/警告 (システム障害を含む) |
WOxxx | リモートデータアクセス機能に関するエラー |
WJxxx | JCS と JDBC 関連のエラー |
WCxxx | 文字変換のエラー |
WXxxx | XML 関連のエラー |
WTxxx | テスト関連のエラー |
正常終了クラスは '00xxx' です (たとえば、'00000')。
SQLSTATE と SQLCODE は、各 SQLCODE が SQLSTATE に対応しており、各 SQLSTATE が 1 つ以上の SQLCODE に対応していることがあるという点で関連しています。
SQLSTATE に関連付けられたエラー条件を返すには、ERRORMSG 関数を使用できます。
SQL/2008 値 '0' ~ '4' と 'A' ~ 'H' で始まる SQLSTATE クラス (最初の 2 文字) は、ANSI 標準で定義されています。その他のクラスは実装依存です。同様に、値 '0' ~ '4' と 'A' ~ 'H' で始まるサブクラス値も、ANSI 標準で定義されています。これらの範囲に含まれないサブクラス値は実装依存です。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |