SQLSTATE値を以下に示します。
参照
ODBC driverを利用したアプリケーションとの連携で対応するコードが表に存在しない場合には、“MSDNライブラリ Visual Studio”で参照してください。
例外 | 例外条件 | 副例外コード | 副例外コードの意味 |
---|---|---|---|
00 | 正常終了 | 000 | 正常終了 |
01 | 警告 | 000 | 警告 |
00C | 動的結果セットが返された | ||
008 | 暗黙的にゼロビットの埋込みを行った | ||
003 | 集計関数でNULL値が取り除かれた | ||
007 | 権限が付与されていない | ||
006 | 権限が剥奪されていない | ||
004 | 文字列データの右側を切り捨てた(トランケート) | ||
P01 | 廃止予定の機能 | ||
02 | データなし(SQL標準では警告) | 000 | データなし |
001 | 追加の動的結果セットなし | ||
03 | SQL文が未完了 | 000 | SQL文が未完了 |
08 | コネクションの例外 | 000 | コネクションの例外 |
003 | コネクションが存在しない | ||
006 | コネクションに失敗した | ||
001 | SQLクライアントはコネクションを確立できなかった | ||
004 | SQLサーバはコネクションの確立を拒絶した | ||
007 | トランザクションの解決法が不明(トランザクションの開始、コミット、ロールバックが出来ない状態) | ||
P01 | プロトコル違反 | ||
09 | 被トリガ動作例外 | 000 | 被トリガ動作例外 |
0A | 未サポート機能 | 000 | 未サポート機能 |
0B | トランザクションが正しく初期化されていない | 000 | トランザクションが正しく初期化されていない |
0F | ロケータの例外 | 000 | ロケータの例外 |
001 | ロケータ指定が不当 | ||
0L | 権限付与者が不当 | 000 | 権限付与者が不当 |
P01 | 権限付与操作が不当 | ||
0P | ロールの指定が不当 | 000 | ロールの指定が不当 |
0Z | 診断情報の例外 | 000 | 診断情報の例外 |
002 | 動作中のハンドラ無しにスタック中の診断情報にアクセスした | ||
20 | CASEが見つからない | 000 | CASEが見つからない |
21 | 基数違反 | 000 | 基数違反(比較述語に直接含まれる副問合せの結果が2行以上検索された) |
22 | データ例外 | 000 | データ例外 |
02E | 配列添え字の誤り | ||
021 | レパートリ中にない文字 | ||
008 | 扱える日時の範囲を超えた | ||
012 | 除数0による除算 | ||
005 | 代入規則違反 | ||
00B | エスケープ文字の競合 | ||
022 | 指示子のオーバーフロー | ||
015 | 扱える時間隔の範囲を超えた | ||
01E | 対数の引数が不当 | ||
014 | ntile関数の引数が不当 | ||
016 | nth_value関数の引数が不当 | ||
01F | power関数の引数が不当 | ||
01G | width_bucket関数の引数が不当 | ||
018 | 型変換での文字値が不当 | ||
007 | 日付時刻の形式が不当 | ||
019 | エスケープ文字が不当 | ||
00D | エスケープバイト(8ビット)が不当 | ||
025 | エスケープシーケンスが不当 | ||
P06 | エスケープ文字の使用法に誤り | ||
010 | 指示パラメーターの値が不当 | ||
023 | パラメーターの値が不当 | ||
01B | 正規表現が不当 | ||
01W | LIMIT句における行の数が不当 | ||
01X | 結果OFFSET句における行の数が不当 | ||
009 | タイムゾーン時差値が不当 | ||
00C | エスケープ文字の使用法が不当 | ||
00G | 適切なデータ型がない | ||
004 | NULL値は許されない | ||
002 | NULL用の指示パラメーターの指定がない | ||
003 | 扱える数値の範囲を超えた | ||
026 | 文字列長の不一致 | ||
001 | 文字列データの右側を切り捨てた(トランケート) | ||
011 | substring処理での誤り | ||
027 | TRIM処理での誤り | ||
024 | C文字列の終端がNULL文字でない | ||
00F | 空の文字列 | ||
P01 | 浮動小数点例外 | ||
P02 | テキスト表現が不当 | ||
P03 | バイナリ表現が不当 | ||
P04 | コピーファイルの形式が不当 | ||
P05 | 翻訳できない文字 | ||
00L | XMLの形式が不当 | ||
00M | XMLドキュメントが正しくない | ||
00N | XMLコンテントが正しくない | ||
00S | XMLコメントが正しくない | ||
00T | XML処理指示が正しくない | ||
23 | 整合性制約違反 | 000 | 整合性制約違反 |
001 | 制限違反 | ||
502 | NOT NULL制約違反 | ||
503 | 外部キー制約違反 | ||
505 | 一意性制約違反 | ||
514 | 検査制約違反 | ||
P01 | 排他制約違反 | ||
24 | カーソル状態が不当 | 000 | カーソル状態が不当 |
25 | トランザクション状態が不当 | 000 | トランザクション状態が不当 |
001 | SQLトランザクションが動作中 | ||
002 | 分岐トランザクションが既に動作中 | ||
008 | 保持されたカーソルには同一の隔離レベルが必要 | ||
003 | 分岐トランザクションに対してアクセスモードが不当 | ||
004 | 分岐トランザクションに対して隔離レベルが不当 | ||
005 | 分岐トランザクションに対して動作中のSQLトランザクションがない | ||
006 | 読み取り専用SQLトランザクション | ||
007 | DOCとDMLの混在は未サポート | ||
P01 | 動作中のSQLトランザクションがない | ||
P02 | 失敗したSQLトランザクション内である | ||
26 | SQL文識別子不当 | 000 | SQL文識別子不当 |
27 | 被トリガデータ変更違反 | 000 | 被トリガデータ変更違反 |
28 | 認証指定が不当 | 000 | 認証指定が不当 |
P01 | パスワードが不当 | ||
2B | 依存する権限記述子がまだ存在する | 000 | 依存する権限記述子がまだ存在する |
P01 | 依存するオブジェクトがまだ存在する | ||
2D | トランザクションの終了が不当 | 000 | トランザクションの終了が不当 |
2F | SQLルーチンエラー | 000 | SQLルーチンエラー |
005 | 関数がRETURN文を実行しなかった | ||
002 | SQLデータの修正は許されない | ||
003 | 禁止されているSQL文が実行された | ||
004 | SQLデータの読み取りは許されない | ||
34 | カーソル名が不当 | 000 | カーソル名が不当 |
38 | 外部ルーチンエラー | 000 | 外部ルーチンエラー |
001 | SQL文を含むことは許されない | ||
002 | SQLデータの修正は許されない | ||
003 | 禁止されているSQL文が実行された | ||
004 | SQLデータの読み取りは許されない | ||
39 | 外部ルーチン呼び出しエラー | 000 | 外部ルーチン呼び出しエラー |
001 | 正しくないSQLSTATEが返された | ||
004 | NULL値は許可されていない | ||
P01 | トリガプロトコル違反 | ||
P02 | SRFプロトコル違反 | ||
3B | セーブポイントエラー | 000 | セーブポイントエラー |
001 | セーブポイント指定が不当 | ||
3D | カタログ名が正しくない | 000 | カタログ名が不当 |
3F | スキーマ名が正しくない | 000 | スキーマ名が不当 |
40 | トランザクションロールバック | 000 | トランザクションロールバック |
002 | トランザクションの整合性制約違反 | ||
001 | 直列化の失敗 | ||
003 | 文の終了が不明 | ||
P01 | デッドロックの検出 | ||
42 | 構文誤りもしくはアクセス規則違反 | 000 | 構文誤りもしくはアクセス規則違反 |
601 | 構文誤り | ||
501 | 権限がない | ||
846 | 強制型変換できない | ||
803 | グループ化での誤り | ||
P20 | ウィンドウでの誤り | ||
P19 | 反復が不当 | ||
830 | 外部キーが不当 | ||
602 | 識別子が不当 | ||
622 | 識別子の制限値オーバー | ||
939 | 予約語 | ||
804 | データ型の不一致 | ||
P18 | データ型が不確定 | ||
P21 | 照合順序の不一致 | ||
P22 | 照合順序が不確定 | ||
809 | オブジェクトの型が不当 | ||
703 | 列が未定義 | ||
883 | 関数が未定義 | ||
P01 | テーブルが未定義 | ||
P02 | パラメーターが未定義 | ||
704 | オブジェクトが未定義 | ||
701 | 既に使用されている列名 | ||
P03 | 既に使用されているカーソル名 | ||
P04 | 既に使用されているデータベース名 | ||
723 | 既に使用されている関数名 | ||
P05 | 既に使用されている準備済み文の識別子 | ||
P06 | 既に使用されているスキーマ名 | ||
P07 | 既に使用されているテーブル名 | ||
712 | 既に使用されている別名 | ||
710 | 既に使用されているオブジェクト名 | ||
702 | 列が一意に特定できない | ||
725 | 関数が一意に特定できない | ||
P08 | パラメーターが一意に特定できない | ||
P09 | 別名が一意に特定できない | ||
P10 | 列参照が不当 | ||
611 | 列定義が不当 | ||
P11 | カーソル定義が不当 | ||
P12 | データベース定義が不当 | ||
P13 | 関数定義が不当 | ||
P14 | 準備済み文の定義が不当 | ||
P15 | スキーマ定義が不当 | ||
P16 | テーブル定義が不当 | ||
P17 | オブジェクト定義が不当 | ||
44 | WITH CHECK OPTIONに違反 | 000 | ビュー表のCHECK OPTIONの制約に違反 |
53 | リソース不足 | 000 | リソース不足 |
100 | ディスクの空き容量不足 | ||
200 | メモリ不足 | ||
300 | 接続数オーバー | ||
400 | 設定値の制限オーバー | ||
54 | プログラムの制限オーバー | 000 | プログラムの制限オーバー |
001 | 文が複雑過ぎる | ||
011 | 列数が制限値オーバー | ||
023 | 引数が制限値オーバー | ||
55 | オブジェクトが必要な状態にない | 000 | オブジェクトが必要な状態にない |
006 | オブジェクトは使用されている | ||
P02 | 実行時パラメーターは変更できない | ||
P03 | ロックは使用不可 | ||
57 | オペレータによる介入 | 000 | オペレータによる介入 |
014 | 問合せはキャンセルされた | ||
P01 | 管理者による停止 | ||
P02 | クラッシュによる停止 | ||
P03 | 接続不可状態 | ||
P04 | データベースが削除された | ||
58 | 内部矛盾(外部原因によるPostgreSQL自体の誤り) | 000 | 内部矛盾 |
030 | 入出力の誤り | ||
P01 | ファイルが未定義 | ||
P02 | 既に使用されているファイル名 | ||
F0 | 設定ファイルの誤り | 000 | 設定ファイルの誤り |
001 | ロックファイルが存在する | ||
P0 | PL/pgSQLの誤り | 000 | PL/pgSQLの誤り |
001 | 例外が発生 | ||
002 | データなし | ||
003 | 結果が多すぎる | ||
XX | 内部誤り | 000 | 内部誤り |
001 | データの破損 | ||
002 | インデックスの破損 | ||
YE | ECPGの例外 | 000 | ECPGの例外 |
001 | メモリー不足 |