標識変数は 2 バイトの整数 (BIN FIXED(15)) です。 検索時には、関連したホスト変数にヌル値が割り当てられている かどうかを示すために、標識変数が使用されます。 列への割り当て時には、ヌル値を割り当てる必要があるかどうかを 示すために、負の標識変数が使用されます。
標識変数はホスト変数と同じ方法で宣言され、両変数の宣言は プログラマーの裁量でどのように組み合わせることもできます。 標識変数配列が使用される場合、その配列内のすべての標識変数は、最初のメンバーから開始して、順番 に指定されていなければなりません。 順番になっていない指標変数があると、エラーとしてフラグが立てられます。
次のステートメントがあるとします。
exec sql fetch Cls_Cursor into :Cls_Cd,
:Day :Day_Ind,
:Bgn :Bgn_Ind,
:End :End_Ind;変数は次のように宣言できます。
exec sql begin declare section; dcl Cls_Cd char(7); dcl Day bin fixed(15); dcl Bgn char(8); dcl End char(8); dcl (Day_Ind, Bgn_Ind, End_Ind) bin fixed(15); exec sql end declare section;
次の図は、有効な標識変数の構文を示しています。
>>-+-DECLARE-+--variable-name--+-BINARY-+--FIXED(15)--;-------->< '-DCL-----' '-BIN----'
次の図は、有効な標識配列の構文を示しています。
>>-+-DECLARE-+--+-variable-name--(--dimension--)-----------+----> '-DCL-----' | .-,------------------------------. | | V | | '-(----variable-name--(--dimension--)-+--)-' >--+-BINARY-+--FIXED(15)--;------------------------------------>< '-BIN----'