Symfoware Parallel Server SQLビギナーズガイド
目次 索引 前ページ次ページ

付録B SQLSTATE値

応用プログラム中で、SQL文の実行結果は状態変のSQLSTATEに通知されます。したがって、応用プログラムは、SQL文を実行するたびにSQLSTATEをチェックして、Symfoware/RDBの処理結果を確認しながら処理を進めることができます。

■SQLSTATE

状態変数のSQLSTATEは、5桁の文字型の変数です。SQL文を実行した結果、SQLSTATEに設定される値を“状態コー”と呼びます。状態コードの先頭の2桁を“例外コー”と呼び、うしろの3桁を“副例外コー”と呼びます。SQL文の実行結果に対するコードの値を“表:SQLSTATE値”に示します。

[表:SQLSTATE値]

例外
コード

例外条件

副例外
コード

副例外コードの意味

00

正常終了

000

なし

01

警告

005

なし

02

データなし

000

なし

07

動的SQLエラー

000

なし

001

USING句が被準備文内の動的パラメタと対応しない

002

USING句が被準備文内の選択リスト(相手指定)と一致しない

003

被準備文が<カーソル指定>である

004

動的パラメタ指定に対するUSING句が指定されていない

005

被準備文が<カーソル指定>でない

006

埋め込みホスト変数属性違反(制限されたデータ型属性を指定)

007

(相手指定に対する)結果USINGが指定されていない

008

SQL記述子域の個数不当

009

SQL記述子域のインデックス不当

08

コネクション違反

000

コネクションの利用方法の誤り

002

使用中のコネクション

08

コネクション違反

003

コネクションが存在しない

004

SQLサーバがSQLコネクションの接続を拒絶した

09

被トリガ動作例外

000

なし

0A

未サポート機能

000

なし

21

基数違反

000

単一行SELECT文の実行で2行以上が検索された、または、比較述語に直接含まれる副問合せの結果が2行以上検索された

22

データ例外

001

文字データの右側を切り捨てた(トランケート)

002

ナル値を設定する標識変数の指定がない

003

扱える数値の範囲を超えた

005

代入規則違反

008

扱える日時の範囲を超えた

011

部分文字列の指定に誤り

012

除数0による除算

015

扱える時間隔の範囲を超えた

018

型変換を行う文字列の形式に誤り

019

エスケープ文字の不当

024

正しくない文字型ホスト変数(入力ホスト変数の定義サイズ内にナル文字が存在していない)

027

TRIM文字の指定に誤り

701

正しくない可変長文字列(長さ部の値が0未満、または、定義サイズを超えている)

702

DSI範囲外アクセス

703

正しくない数値
(固定小数点の符号部の値が不当)

704

正しくない文字(各国語文字列の値が不当)

23

NOT NULL制約違反,
一意性制約違反

000

なし

24

カーソル状態不当

000

なし

25

トランザクション状態不当

000

なし

26

SQL文識別子不当

000

なし

28

パスワードが不当

000

なし

2E

コネクション名が不当

000

なし

2F

ルーチン呼び出しエラー

000

なし

33

記述子名不当

000

なし

34

カーソル名不当

000

なし

37

SQL文構文エラー

000

なし

3D

カタログ名不当

000

なし

3F

スキーマ名不当

000

なし

40

トランザクション
ロールバック

001

トランザクション直列化に失敗または実時間オーバー

003

文終了不明(処理時間オーバーまたは強制終了)

701

テンポラリログ領域不足

702

COMMIT実行時エラー

801

定義系処理異常

42

アクセス規則違反

000

権限なし

44

ビューに対する更新で
WITH CHECK OPTIONに違反

000

なし

70

定量制限

000

なし

71

環境不整合または運用矛盾

000

OSの制限値を超えた

001

Symfoware/RDBが未起動

002

サーバシステムが未起動

010

環境変数または、動作環境ファイルの形式が不当

020

Symfoware/RDBの制限値を超えた

030

Symfoware/RDB環境矛盾

210

DSIが未定義またはDSIが未選択

220

DSIが未フォーマット

300

カーソル矛盾

400

利用規定(注)

410

アクセス禁止

500

データベース未定義またはDSO未定義

600

セションロック不可状態

700

トランザクションの実行多重度オーバー

710

リカバリ要状態

720

データベースまたは、RDBディクショナリの矛盾

730

定義系処理異常

740

分割転送での矛盾

800

DSI自動容量拡張での異常

72

外部記憶領域等の不足

000

DSIの格納領域不足

010

データベーススペース不足

100

ディレクトリ領域不足

72

外部記憶領域等の不足

200

作業用テーブル領域不足

73

メモリの領域不足

100

ローカルメモリのプール数が設定上限値を超えた

110

ローカルメモリの不足

200

共用メモリのプール数が設定上限値を超えた

210

共用メモリの不足

300

共用バッファの不足

74

外部記憶領域への
入出力異常

000

データベーススペースの入出力異常

010

データベーススペースのアクセス権なし

100

ディレクトリ領域への入出力異常

110

ディレクトリ領域のアクセス権なし

200

作業用ファイルの入出力異常

210

作業用ファイルのアクセス権なし

400

テンポラリログ領域の入出力異常

410

テンポラリログ領域のアクセス権なし

500

スナップファイルへの入出力異常

600

その他のファイルの入出力異常

610

アクセス権なし

720

RDBディクショナリの入出力異常

75

コネクション環境異常

000

コネクション実行環境の異常

76

システム環境異常

000

システム異常

注)処理対象のDSIに対するrdbfmtコマンドを実行中の場合にも設定されることがあります。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006