特定の定義済み REXX のデータ・タイプは、 DB2 の列のタイプに対応しています 表 35 は、 SQLEXEC および SQLDBS が REXX 変数をどのように解釈して、その内容を DB2 のデータ・タイプに変換するかを示しています。
注: | DB2 ホスト言語で、DATALINK データ・タイプをサポートするホスト変数はありません。 |
SQL 列タイプ(1) | REXX データ・タイプ | SQL 列タイプ記述 | ||
---|---|---|---|---|
SMALLINT (500 または 501) | 10 進小数点を持たない -32 768 〜 32 767 の数 | 16 ビットの符号付き整数 | ||
INTEGER (496 または 497) | 10 進小数点を持たない -2 147 483 648 〜 2 147 483 647 の数 | 32 ビットの符号付き整数 | ||
REAL(2) (480 または 481) | -3.40282346 x 1038 〜 3.40282346 x 1038 の浮動小数の数 | 単精度浮動小数点 | ||
DOUBLE(3) (480 または 481) | -1.79769313 x 10308 〜 1.79769313 x 10308 の浮動小数の数 | 倍精度浮動小数点 | ||
DECIMAL(p,s) (484 または 485) | 10 進小数点を持つ数 | パック 10 進数 | ||
CHAR(n) (452 または 453) | 前後に引用符 (') を持つストリング。2 つの引用符を除くと、長さが n になる。
先行および後続ブランク、または浮動小数の E 以外の非数値文字を持つ、長さ n のストリング | 長さが n の固定長文字ストリング (n の範囲は 1 〜 254 まで) | ||
VARCHAR(n) (448 または 449)
| CHAR(n) と等しい | 長さが n の可変長文字ストリング。 n の範囲は 1 〜 4000 まで | ||
LONG VARCHAR (456 または 457) | CHAR(n) と等しい | 長さが n の可変長文字ストリング。 n の範囲は 1 〜 32 700 まで | ||
CLOB(n) (408 または 409) | CHAR(n) と等しい | 長さが n のラージ・オブジェクト可変長文字ストリング。 n の範囲は 1 〜 2 147 483 647 まで | ||
CLOB ロケーター変数(4) (964 または 965) | DECLARE :var_name LANGUAGE TYPE CLOB LOCATOR | サーバー上の CLOB 実体を識別する | ||
CLOB ファイル参照変数(4) (920 または 921) | DECLARE :var_name LANGUAGE TYPE CLOB FILE | CLOB データを含むファイルの記述子 | ||
BLOB(n) (404 または 405) | 前後にアポストロフィーを持つストリングで、BIN が先行する。先行の BIN と 2 つのアポストロフィーを除くと、n 文字となる | 長さが n のラージ・オブジェクト可変長 2 進ストリング。 n の範囲は 1 〜 2 147 483 647 まで | ||
BLOB ロケーター変数(4) (960 または 961) | DECLARE :var_name LANGUAGE TYPE BLOB LOCATOR | サーバー上の BLOB 実体を識別する | ||
BLOB ファイル参照変数(4) (916 または 917) | DECLARE :var_name LANGUAGE TYPE BLOB FILE | BLOB データを含むファイルの記述子 | ||
DATE (384 または 385) | CHAR(10) と等しい | 10 バイトの文字ストリング | ||
TIME (388 または 389) | CHAR(8) と等しい | 8 バイトの文字ストリング | ||
TIMESTAMP (392 または 393) | CHAR(26) と等しい | 26 バイトの文字ストリング | ||
| ||||
GRAPHIC(n) (468 または 469) | 前後にアポストロフィーを持つストリングで、G または N が先行する。先行の文字と 2 つのアポストロフィーを除くと、 n 個の DBCS 文字となる | 長さが n の固定長図形ストリング。 n の範囲は 1 〜 127 まで | ||
VARGRAPHIC(n) (464 または 465) | GRAPHIC(n) と等しい | 長さが n の可変長図形ストリング。 n の範囲は 1 〜 2000 まで | ||
LONG VARGRAPHIC (472 または 473) | GRAPHIC(n) と等しい | 長さが n の長可変長図形ストリング。 n の範囲は、1 〜 16 350 まで | ||
DBCLOB(n) (412 または 413) | GRAPHIC(n) と等しい | 長さが n のラージ・オブジェクト可変長図形ストリング。 n の範囲は 1 〜 1 073 741 823 まで | ||
DBCLOB ロケーター変数(4) (968 または 969) | DECLARE :var_name LANGUAGE TYPE DBCLOB LOCATOR | サーバー上の DBCLOB 実体を識別する | ||
DBCLOB ファイル参照変数(4) (924 または 925) | DECLARE :var_name LANGUAGE TYPE DBCLOB FILE | DBCLOB データを含むファイルの記述子 | ||
注:
|
REXX においてカーソルを宣言する際、カーソルは照会と関連付けられます。照会は、PREPARE ステートメントで割り当てられたステートメント名と関連付けられます。参照したホスト変数はパラメーター・マーカーで表されます。以下の例は、動的 SELECT ステートメントに関連する DECLARE ステートメントを示しています。
prep_string = "SELECT TABNAME FROM SYSCAT.TABLES WHERE TABSCHEMA = ?" CALL SQLEXEC 'PREPARE S1 FROM :prep_string'; CALL SQLEXEC 'DECLARE C1 CURSOR FOR S1'; CALL SQLEXEC 'OPEN C1 USING :schema_name';