
ホスト変数とは
ホスト変数とはSQL文中に記述し、条件や値を受けとることが出来る変数のこと。
逆にいえば、ホスト変数以外はSQL文中に記述できません。
※ 前回(http://harikofu.blog.fc2.com/blog-entry-45.html)と内容が重複します。
ホスト変数の宣言
【構文】
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
ホスト変数
:
:
EXEC SQL END DECLARE SECTION END-EXEC.
1.「 DATA DIVISION. 」 の 「 WORKING-STORAGE SECTION. 」 で記述します。
2.EXEC SQL BEGIN DECLARE SECTION END-EXEC.とEXEC SQL END DECLARE SECTION END-EXEC.で囲まれた範囲に宣言された変数がホスト変数となります。
宣言の例
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
01 H-FSMACTTHTM PIC X(006).
01 H-CSVPUT-CNT PIC 9(012).
EXEC SQL INCLUDE XXXXX999.CBL END-EXEC.
EXEC SQL END DECLARE SECTION END-EXEC.
実際の宣言は上記の通り、注意点は 「 INCLUDE XXXXX999.CBL 」です。
INCLUDE文はCOBOL言語のCOPY句に該当します。
SQL文やホスト変数の宣言の場合はCOPY句ではなく、INCLUDE文を使用して下さい。
使用方法
実際のプログラム中では下記のように使用します。
【使用例】ABCDテーブルからFSASが10の件数を取得する
MOVE "10" TO H-FSMACTTHTM.
EXEC SQL
SELECT COUNT(*) INTO :H-CSVPUT-CNT
FROM ABCD
WHERE FSAS = RTRIM(:H-FSMACTTHTM)
END-EXEC.
上記の例のように、ホスト変数は EXEC SQL ~ END-EXEC の範囲内で使用するときは先頭に:をつける必要があります。
前回:NetCOBOLでOracleに接続してみた
次回:NetCOBOLでSQLCAを使ってみる
投稿記事の一覧 : http://harikofu.blog.fc2.com/blog-entry-22.html
--- blog end ---
スポンサードリンク


