以下に、SQLDA データ構造体を示します。
01 SQLDA sync.
05 SQLDAID PIC X(8) VALUE "SQLDA ".
05 SQLDABC PIC S9(9) COMP-5 value 0.
05 SQLN PIC S9(4) COMP-5 value 0.
05 SQLD PIC S9(4) COMP-5 value 0.
05 SQLVAR OCCURS 0 TO 1489 TIMES DEPENDING ON SQLD.
10 SQLTYPE PIC S9(4) COMP-5.
10 SQLLEN PIC S9(4) COMP-5.
$IF P64 SET
*> For 64-bit environments, ensure that SQLDATA is
*> aligned on an 8-byte boundary.
10 FILLER PIC S9(9) COMP-5.
$END
10 SQLDATA USAGE POINTER.
10 SQLIND USAGE POINTER.
10 SQLNAME.
15 SQLNAMEL PIC S9(4) COMP-5.
15 SQLNAMEC PIC X(30).
次の表では、SQLDA データ構造体の内容が説明されます。
| フィールド | 内容 |
|---|---|
| SQLDAID | SQLDA というテキストです。 |
| SQLDABC |
|
| SQLN | 割り当てられた SQLVAR エントリの総数で、入力パラメーター、または出力される列数と等しい数になります。 |
| SQLD | 使用されている SQLVAR エントリの数です。 |
| SQLVAR | SQLVAR はグループ項目です。 実際の要素の数は、SQLD の値に依存します。 |
| SQLTYPE | 列、またはホスト変数のデータ型を表わす数であり、また NULL 値が許されているかどうかが示されます (有効な値については、下記の表を参照してください)。 |
| SQLLEN | 列から取り出された値の長さです。データが 10 進数型 (通貨型を含む) の場合、SQLLEN は 2 つの部分に分けられます。最初のバイトは精度、次のバイトは位取りを表します。 |
| FILLER | 64 ビット環境では、SQLDATA と SQLIND が、64 ビット環境での実行に必要なメモリー内の 8 バイト境界に確実に存在するようにする必要があります。 |
| SQLDATA | FETCH、OPEN、および EXECUTE の場合には、ホスト変数のアドレス (アプリケーションで設定する必要があります)。DESCRIBE および PREPARE では、 SQLDATA は使用されません。 |
| SQLIND | FETCH、OPEN、および EXECUTE の場合には、存在していれば、関連付けられたインジケーター変数のアドレスになります。列の値として NULL 値が許されない場合には、フィールドの値は未定義になります。NULL 値が許されていれば、データの値が NULL の場合は -1、NULL でない場合は 0 がそれぞれ設定されます。DESCRIBE および PREPARE では、SQLIND は使用されません。 |
| SQLNAME | 列の名前と長さを含むグループ項目 (FETCH、OPEN または EXECUTE には使用されません)。 |
| SQLNAMEL | 列名の長さです。 |
| SQLNAMEC | 列名です。導出列の場合は、このフィールドには、導出列の選択されたリストでの元の位置を表わす ASCII 数字のリテラル値が含まれます。 |
78 ESQL-DATE-CHAR VALUE 384.
78 ESQL-DATE-CHAR-NULL VALUE 385.
78 ESQL-DATE-REC VALUE 386.
78 ESQL-DATE-REC-NULL VALUE 387.
78 ESQL-TIME-CHAR VALUE 388.
78 ESQL-TIME-CHAR-NULL VALUE 389.
78 ESQL-TIME-REC VALUE 390.
78 ESQL-TIME-REC-NULL VALUE 391.
78 ESQL-TIMESTAMP-CHAR VALUE 392.
78 ESQL-TIMESTAMP-CHAR-NULL VALUE 393.
78 ESQL-TIMESTAMP-REC VALUE 394.
78 ESQL-TIMESTAMP-REC-NULL VALUE 395.
78 ESQL_TIMESTAMP_OFFSET_CHAR VALUE 396.
78 ESQL_TIMESTAMP_OFFSET_CHAR_NULL VALUE 397.
78 ESQL_TIMESTAMP_OFFSET_REC VALUE 398.
78 ESQL_TIMESTAMP_OFFSET_REC_NULL VALUE 399.
78 ESQL-LONGVARBINARY VALUE 404.
78 ESQL-LONGVARBINARY-NULL VALUE 405.
78 ESQL-LONGVARCHAR VALUE 408.
78 ESQL-LONGVARCHAR-NULL VALUE 409.
78 ESQL-BINARY VALUE 444.
78 ESQL-BINARY-NULL VALUE 445.
78 ESQL-VARBINARY VALUE 446.
78 ESQL-VARBINARY-NULL VALUE 447.
78 ESQL-VARCHAR VALUE 448.
78 ESQL-VARCHAR-NULL VALUE 449.
78 ESQL-CHARVARYING VALUE 450. *> added esq03n31
78 ESQL-CHARVARYING-NULL VALUE 451. *> added esq03n31
78 ESQL-CHAR VALUE 452.
78 ESQL-CHAR-NULL VALUE 453.
78 ESQL-CHAR-FIXED VALUE 454. *> added esq03n31
78 ESQL-CHAR-FIXED-NULL VALUE 455. *> added esq03n31
78 ESQL-VARGRAPH VALUE 464.
78 ESQL-VARGRAPH-NULL VALUE 465.
78 ESQL-GRAPHIC VALUE 468.
78 ESQL-GRAPHIC-NULL VALUE 469.
78 ESQL-LONGRAPH VALUE 472.
78 ESQL-LONGRAPH-NULL VALUE 473.
78 ESQL-DOUBLE VALUE 480.
78 ESQL-DOUBLE-NULL VALUE 481.
78 ESQL-REAL VALUE 482.
78 ESQL-REAL-NULL VALUE 483.
78 ESQL-DECIMAL VALUE 484.
78 ESQL-DECIMAL-NULL VALUE 485.
78 ESQL-BIGINT VALUE 492.
78 ESQL-BIGINT-NULL VALUE 493.
78 ESQL-INTEGER VALUE 496.
78 ESQL-INTEGER-NULL VALUE 497.
78 ESQL-SMALLINT VALUE 500.
78 ESQL-SMALLINT-NULL VALUE 501.
78 ESQL-TINYINT VALUE 502.
78 ESQL-TINYINT-NULL VALUE 503.
78 ESQL-UDISP-UNSIGN VALUE 510.
78 ESQL-UDISP-UNSIGN-NULL VALUE 511.
78 ESQL-UDISP-SIGN-LEAD-SEP VALUE 512.
78 ESQL-UDISP-SIGN-LEAD-SEP-NULL VALUE 513.
78 ESQL-UDISP-SIGN-TRAIL-SEP VALUE 514.
78 ESQL-UDISP-SIGN-TRAIL-SEP-NULL VALUE 515.
78 ESQL-UDISP-SIGN-LEAD-INC VALUE 516.
78 ESQL-UDISP-SIGN-LEAD-INC-NULL VALUE 517.
78 ESQL-UDISP-SIGN-TRAIL-INC VALUE 518.
78 ESQL-UDISP-SIGN-TRAIL-INC-NULL VALUE 519.
78 ESQL-WCHAR VALUE 1080.
78 ESQL-WCHAR_NULL VALUE 1081.
78 ESQL-WVARCHAR VALUE 1090.
78 ESQL-WVARCHAR_NULL VALUE 1091.
78 ESQL-WLONGVARCHAR VALUE 1100.
78 ESQL-WLONGVARCHAR_NULL VALUE 1101.
78 ESQL_UTINYINT VALUE 1200.
78 ESQL_UTINYINT_NULL VALUE 1201.
78 ESQL_USMALLINT VALUE 1202.
78 ESQL_USMALLINT_NULL VALUE 1203.
78 ESQL_UINTEGER VALUE 1204.
78 ESQL_UINTEGER_NULL VALUE 1205.
78 ESQL_UBIGINT VALUE 1206.
78 ESQL_UBIGINT_NULL VALUE 1207.
78 ESQL-PICX-VARYING VALUE 1208.
78 ESQL-PICX-VARYING-NULL VALUE 1209.