Open ESQL および DB2 ECM の SQLCA データ構造体を以下に示します。
01 SQLCA. 05 SQLCAID PIC X(8) VALUE "SQLCA ". 05 SQLCABC PIC S9(9) COMP-5 VALUE 136. 05 SQLCODE PIC S9(9) COMP-5 VALUE 0. 05 SQLERRM. 49 SQLERRML PIC S9(4) COMP-5. 49 SQLERRMC PIC X(70). 05 SQLERRP PIC X(8). 05 SQLERRD PIC S9(9) COMP-5 OCCURS 6 VALUE 0. 05 SQLWARN. 10 SQLWARN0 PIC X. 10 SQLWARN1 PIC X. 10 SQLWARN2 PIC X. 10 SQLWARN3 PIC X. 10 SQLWARN4 PIC X. 10 SQLWARN5 PIC X. 10 SQLWARN6 PIC X. 10 SQLWARN7 PIC X. 05 SQLEXT. 10 SQLWARN8 PIC X. 10 SQLWARN9 PIC X. 10 SQLWARN10 PIC X. 10 SQLWARNA PIC X REDEFINES SQLWARN10. 05 SQLSTATE PIC X(5).
次の表で、SQLCA データ構造体の内容について解説します。
フィールド | 内容 | |
---|---|---|
SQLCAID | 「SQLCA」という文字列。 | |
SQLCABC | SQLCA データ構造体の長さ。 | |
SQLCODE | 最後に実行した SQL 文の状態コード。 | |
SQLERRML | SQLERRMC のエラー メッセージの長さ (0 から 70 バイトまで)。 | |
SQLERRMC | エラー メッセージのテキスト。70 バイトを超えるエラー メッセージは切り捨てられます。 | |
SQLERRP | システムにより予約されています (診断情報)。 | |
SQLERRD | 状態コードを表す、整数値の要素を 6 個持つ配列 (下記にリストされていないものは、システムにより予約されています)。 | |
SQLERRD(1) | SQL サーバー エラー番号。 | |
SQLERRD(2) | SQL サーバーの重大度。 | |
SQLERRD(3) | 影響を受ける行の数。 | |
SQLWARN | 8 個の警告フラグがあり、それぞれ空白または W が含まれます (下記にリストされていないものは、システムにより予約されています)。SQLCODE の値が +1 である場合は、警告フラグが設定されます。 | |
SQLWARN0 | すべての警告フィールドの一覧です。空白は警告が存在しないことを表します。 | |
SQLWARN1 | 「W」は、文字型のホスト変数に出力されたデータが切り捨てられたことを示します。 | |
SQLWARN2 | 「W」は、NULL 値がありながらインジケーター変数が提供されていないことを示します。 | |
SQLWARN3 | 「W」は、ホスト変数の数よりも列の数が少ないこと、または提供されたホスト変数の数と文中のパラメーター マーカーの数とが一致しないことを示します。2 つの数字のどちらか小さい方が使用されています。 | |
SQLWARN4 | 「W」は、シングルトン SELECT で複数の行が返されることを示します (最初の行だけが返されます)。 | |
FILLER | システムにより予約されています。 | |
SQLSTATE | 直前に実行された SQL 文の状態インジケーター。 |