Open ESQL と DB2 ECM の SQLCA データ構造体を次に示します。
01 SQLCA. 03 SQLCAID PIC X(8) VALUE "SQLCA". 03 SQLCABC PIC S9(9) COMP-5 VALUE 136. 03 SQLCODE PIC S9(9) COMP-5 VALUE 0. 03 SQLERRM. 49 SQLERRML PIC S9(4) COMP-5. 49 SQLERRMC PIC X(70). 03 SQLERRP PIC X(8). 03 SQLERRD PIC S9(9) COMP-5 OCCURS 6 VALUE 0. 03 SQLWARN. 05 SQLWARN0 PIC X. 05 SQLWARN1 PIC X. 05 SQLWARN2 PIC X. 05 SQLWARN3 PIC X. 05 SQLWARN4 PIC X. 05 SQLWARN5 PIC X. 05 SQLWARN6 PIC X. 05 SQLWARN7 PIC X. 03 FILLER PIC X(3). 03 SQLSTATE PIC X(5).
Oracle、Sybase および Informix では、SQLCA のバージョンがそれぞれ異なっています。 Oracle、Sybase および Informix の SQLCA にはどれも、SQLCODE、SQLERRML、SQLERRMC および SQLWARN フィールドが存在します。 フィールドのサイズや位置は、プリコンパイラの種類によって異なる場合があります。
次の表に、SQLCA データ構造体の内容を示します。
フィールド | 内容 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
SQLCAID | テキスト文字列「SQLCA」。 | ||||||||||
SQLCABC | SQLCA データ構造体の長さ。 | ||||||||||
SQLCODE | 最後に実行した SQL 文のステータスコード。 | ||||||||||
SQLERRML | SQLERRMC のエラー メッセージの長さ (0 ~ 70)。 | ||||||||||
SQLERRMC | エラー メッセージのテキスト。 70 バイトよりも長いエラー メッセージは切り捨てられます。 | ||||||||||
SQLERRP | 予約済み(診断情報)。 | ||||||||||
SQLERRD | 6 個の整数ステータスコードの配列 (次に示されていないものは予約されています)。
|
||||||||||
SQLWARN | 8 個の警告フラグがあり、それぞれに空白または「W」が含まれます (次にリストされていないものは予約されています)。SQLCODE の値が +1 の場合は、警告フラグが設定されます。
|
||||||||||
FILLER | 予約済み。 | ||||||||||
SQLSTATE | 最後に実行した SQL 文のステータスインジケーター。 |