BEGIN DECLARE SECTION ステートメントは、ホスト変数宣言セクションの始まりを示します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込む方法のみ可能です。 これは、実行可能ステートメントではありません。 また、REXX に指定することはできません。
許可
権限は不要です。
構文
>>-BEGIN DECLARE SECTION---------------------------------------><
説明
BEGIN DECLARE SECTION ステートメントは、 ホスト言語の規則に従って変数宣言が許される個所であれば、 アプリケーション・プログラムのどのような個所にもコーディングできます。 これは、ホスト変数宣言セクションの始まりを示すのに使用されます。 ホスト変数セクションは、 END DECLARE SECTION ステートメントで終了します (END DECLARE SECTION を参照)。
例
例 1: C プログラムで、 ホスト変数 hv_smint (smallint)、hv_vchar24 (varchar(24))、hv_double (double)、 hv_blob_50k (blob(51200))、hv_struct (構造タイプ "struct_type" は blob(10240)) を定義します。
EXEC SQL BEGIN DECLARE SECTION; short hv_smint; struct { short hv_vchar24_len; char hv_vchar24_value[24]; } hv_vchar24; double hv_double; SQL TYPE IS BLOB(50K) hv_blob_50k; SQL TYPE IS struct_type AS BLOB(10k) hv_struct; EXEC SQL END DECLARE SECTION;
例 2: COBOL プログラムで、ホスト変数 HV-SMINT (smallint)、 HV-VCHAR24 (varchar(24))、HV-DEC72 (dec(7,2))、および HV-BLOB-50k (blob(51200)) を定義します。
WORKING-STORAGE SECTION. EXEC SQL BEGIN DECLARE SECTION END-EXEC. 01 HV-SMINT PIC S9(4) COMP-4. 01 HV-VCHAR24. 49 HV-VCHAR24-LENGTH PIC S9(4) COMP-4. 49 HV-VCHAR24-VALUE PIC X(24). 01 HV-DEC72 PIC S9(5)V9(2) COMP-3. 01 HV-BLOB-50K USAGE SQL TYPE IS BLOB(50K). EXEC SQL END DECLARE SECTION END-EXEC.
例 3: FORTRAN プログラムで、ホスト変数 HVSMINT (smallint)、 HVVCHAR24 (char(24))、HVDOUBLE (double)、および HVBLOB50k (blob(51200)) を定義します。
EXEC SQL BEGIN DECLARE SECTION INTEGER*2 HVSMINT CHARACTER*24 HVVCHAR24 REAL*8 HVDOUBLE SQL TYPE IS BLOB(50K) HVBLOB50K EXEC SQL END DECLARE SECTION
注: | FORTRAN では、予期される値が 254 文字を超える場合には、 CLOB ホスト変数を使用する必要があります。 |
例 4: REXX プログラムで、ホスト変数 HVSMINT (smallint)、 HVBLOB50K (blob(51200))、および HVCLOBLOC (CLOB ロケーター) を定義します。
DECLARE :HVCLOBLOC LANGUAGE TYPE CLOB LOCATOR call sqlexec 'FETCH c1 INTO :HVSMINT, :HVBLOB50K'
変数 HVSMINT と HVBLOB50K は、FETCH ステートメントで使用することによって、 暗黙に定義されています。