2.7.2 SQLCODEの値と意味
返却されるSQLCODEの値と意味について説明します。
(1) SQLCODE=0の場合
DMLが正常終了した場合,SQLCODEに0が返されます。
ただし,SQLWARN0に'W'が返された場合,警告付きの正常終了になります。この場合,警告情報がSQLWARN1〜SQLWARNFに返されるため,SQLWARN1〜SQLWARNFの値を確認してください。
SQLWARN0〜SQLWARNFについては,「2.7.4 SQL連絡領域の構成と内容」を参照してください。
(2) SQLCODE>0かつSQLCODE≠100の場合
DMLが警告付きで正常終了した場合,SQLCODEに正の値(100を除く)が返されます。この場合,警告情報がSQLWARN1〜SQLWARNFに返されるため,SQLWARN1〜SQLWARNFの値を確認してください。
(3) SQLCODE=100の場合
位置づけるレコードがなくなった場合,SQLCODEに100が返されます。次の項目を判定する際に利用します。
-
FIND文で位置づけるレコードがなくなった
-
FETCH文で位置づけるレコードがなくなった
(4) SQLCODE<0の場合
DMLの処理でエラーが発生した場合,SQLCODEに負の値が返されます。
なお,DMLの処理でエラーが発生した際,暗黙的ロールバックが発生する場合と,暗黙的ロールバックが発生しない場合があります。暗黙的ロールバックが発生した場合は,SQLWARN0とSQLWARN6に'W'が返されます。
エラーが発生したDMLを特定したい場合は,SQLトレース情報を利用してください。SQLトレース情報については,マニュアル「HiRDB 構造型データベース機能」の「SQLトレース機能」を参照してください。