BOUNDFILLER
またはFILLER
で指定されたFILLERフィールドは、データ・ファイルをマップしたフィールドで、データベースの列とは対応しません。FILLERフィールドは、データ・ファイルがマップされているデータ・フィールドから割り当てられた値です。
FILLERフィールドに関しては次のことに注意してください。
FILLERフィールドの構文は、フィールド名の後にFILLER
を付けること以外は、列ベースのフィールドと同じです。
FILLERフィールドには名前がありますが、表にはロードされません。
FILLERフィールドは、引数としてinit_specs
(たとえば、NULLIF
およびDEFAULTIF
)に使用できます。
FILLERフィールドは、引数として指示句(たとえば、SID
、OID
、REF
およびBFILE
)に使用できます。
FillerフィールドがBFILE
などの指示句で参照され、列オブジェクト内の制御ファイルで宣言されている場合にあいまいな指定を行わないようにするために、フィールド名にオブジェクトの名前を修飾する必要があります。これは次の例で説明します。
LOAD DATA INFILE * INTO TABLE BFILE1O_TBL REPLACE FIELDS TERMINATED BY ',' ( emp_number char, emp_info_b column object ( bfile_name FILLER char(12), emp_b BFILE(constant "SQLOP_DIR", emp_info_b.bfile_name) NULLIF emp_info_b.bfile_name = 'NULL' ) ) BEGINDATA 00001,bfile1.dat, 00002,bfile2.dat, 00003,bfile3.dat,
FILLERフィールドは、NULLIF
句、DEFAULTIF
句およびWHEN
句のフィールド条件指定で使用できます。ただし、SQL文字列では使用できません。
FILLERフィールドの指定に、NULLIF
句またはDEFAULTIF
句を含めることはできません。
FILLERフィールドは、TRAILING NULLCOLS
が指定されて適用可能な場合、NULL
で初期化されます。他のフィールドが、無効なFILLERフィールドを参照している場合は、エラーになります。
FILLERフィールドは、オブジェクトのフィールド・リスト内部またはVARRAY
の定義の内部を含む、データ・ファイルのどこにでも指定できます。
バイナリ配列のFILLERには領域が割り当てられていないため、SQL文字列をFILLERフィールドの一部としては指定できません。
注意:
この項で説明する内容は、BOUNDFILLER
を使用したバウンドFILLERの指定にも適用されます。唯一の例外として、バイナリ配列のバウンドFILLERには領域が割り当てられているため、このバウンドFILLERを使用して、SQL文字列をフィールドの一部として指定できます。
FILLERフィールド指定の例を次に示します。
field_1_count FILLER char, field_1 varray count(field_1_count) ( filler_field1 char(2), field_1 column object ( attr1 char(2), filler_field2 char(2), attr2 char(2), ) filler_field3 char(3), ) filler_field4 char(6)