MISSING
FIELD
VALUES
ARE
NULL
の影響は、POSITION
がフィールド位置を明示的に示すために使用されているかどうかによって、次のように異なります。
デフォルトの動作では、フィールド位置が明示的に示されておらず、レコードのすべてのフィールドに十分なデータがない場合、レコードは拒否されます。この動作を変更するには、MISSING
FIELD
VALUES
ARE
NULL
を使用して、使用可能なデータがないフィールドをNULLとして定義します。
フィールド位置が明示的に示されている場合、MISSING
FIELD
VALUES
ARE
NULL
が使用されているかどうかにかかわらず、常に、値のないフィールドはNULLとして定義されます。
次の例で、2番目のレコードは、生まれた年のデータがデータ・ファイルから欠落していても、year_of_birth
列に対しNULL
に設定されて格納されます。MISSING FIELD VALUES ARE NULL
句をアクセス・パラメータで指定しない場合、year_of_birth
列の値が含まれていない2番目のレコードが拒否されます。この例の後に、ロードが可能なデータ・ファイルのサンプルを示します。
CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth INT) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir ACCESS PARAMETERS (FIELDS TERMINATED BY "," MISSING FIELD VALUES ARE NULL) LOCATION ('info.dat')); Alvin,Tolliver,1976 Baer,Kenneth Mary,Dube,1973