アプリケーション開発の手引き


REXX でサポートされている SQL データ・タイプ

特定の定義済み REXX のデータ・タイプは、 DB2 の列のタイプに対応しています 表 35 は、 SQLEXEC および SQLDBS が REXX 変数をどのように解釈して、その内容を DB2 のデータ・タイプに変換するかを示しています。
注:DB2 ホスト言語で、DATALINK データ・タイプをサポートするホスト変数はありません。

表 35. REXX 宣言にマップされる SQL 列タイプ
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 バイトの文字ストリング
注:以下のデータ・タイプは、DBCS 環境でのみ使用可能です。

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 データを含むファイルの記述子

注:

  1. 列タイプの最初の番号は、標識変数が提供されないことを示し、2 番目の番号は標識変数が提供されることを示す。標識変数は、ヌル値を示したり、切り捨てられたストリングの長さを保留するのに必要です。

  2. FLOAT(n) ここで 0 < n < 25 の場合、REAL と同義。 SQLDA での REAL と DOUBLE の違いは長さの値です (4 または 8)。

  3. 次の SQL タイプは、DOUBLE と同義語。
    • FLOAT
    • FLOAT(n)。ここで、n の取る範囲は 24 < n < 54。
    • DOUBLE PRECISION

  4. これは列タイプではなく、ホスト変数タイプである。

REXX でのカーソルの使用

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';


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]