スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス

[目次][索引][前へ][次へ]

SQLSTATE変数

SQLを実行するとHiRDBによってリターンコード(SQLSTATE)が設定されます。SQLSTATE変数は,2けたのクラス,及び3けたのサブクラスで構成されている5けたの文字列です。

SQLSTATE変数は,プリプロセス実行時にシステムが宣言文をソースプログラム中に埋め込むため,UAPでの宣言は必要ありません。データ型は,C言語ではchar[5],COBOL言語ではPIC X(5)で宣言しています。

参照する場合は,変数名称SQLSTATEを指定してください。

また,複数接続機能を使用した環境では,DECLARE CONNECTION HANDLE SET文でSQLSTATEが使用する接続ハンドルを宣言しておく必要があります。

設定されるSQLSTATEの値は,クライアント環境変数PDSTANDARDSQLSTATE及びシステム共通定義pd_standard_sqlstateの設定によって変わります。SQLSTATEについては,マニュアル「HiRDB Version 8 メッセージ」を参照してください。

クラスの意味とサブクラスの関係を次に示します。

クラス サブクラス 設定条件
00 000 正常終了
01 nnn 正常終了(ただし,警告あり)
02 000 データがない
40 nnn 異常終了(トランザクションはロールバックした)
R2 000 データがない(ただし,リストを使用した検索で,リスト作成時には存在した行が返らなかった場合)
mm nnn 異常終了

mm及びnnnの意味を次に示します。
mm:マニュアル「HiRDB Version 8 メッセージ」で示すSQLSTATEのクラスが設定されます。
nnn:マニュアル「HiRDB Version 8 メッセージ」で示すSQLSTATEのサブクラスが設定されます。
ただし,mm及びnnnはHiRDBの機能拡張によって値が変わる場合があります。