スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
プリプロセサでは,オプションでCコンパイラのプリプロセサ宣言文を使用できるようにしています。
-Eオプションを指定した場合,プリプロセサでは次の機能を実行できます。
UAPソースファイル中で,次の埋込み変数宣言が記述されているとします。
#include "user.h" EXEC SQL BEGIN DECLARE SECTION; char xchar1[MAX_CHAR_LEN]; EXEC SQL END DECLARE SECTION;
UAPがインクルードしているヘッダファイル(user.h)の中で,次のような定数が定義されているとします。
#define MAX_CHAR_LEN 256
プリプロセサは,インクルードファイルを読み込み,MAX_CHAR_LENの定義値を使用して,埋込み変数宣言を「char xchar1[256];」に変換してから解析します。ただし,マクロ定数は,SQL先頭子とSQL終了子の間(SQL文中) には使用できません。
インクルードファイルを検索するためのディレクトリパスは,オプションの引数として指定します。Cコンパイラのデフォルトのディレクトリは指定する必要はありません。
#ifdefなどを使用して,プリプロセスするSQL文を選択できます。例を次に示します。
#ifdef DEF_SWITCH
EXEC SQL DECLARE CUR1 CURSOR FOR SELECT * FROM TABLE1;
#else
EXEC SQL DECLARE CUR1 CURSOR FOR SELECT * FROM TABLE2;
#endif
ただし,Cコンパイラのプリプロセサ宣言文は,SQL先頭子とSQL終了子の間(SQL文中)には記述できません。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.