以下に、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.