The effect of MISSING
FIELD
VALUES
ARE
NULL
depends on whether POSITION
is used to explicitly state field positions:
The default behavior is that if field position is not explicitly stated and there is not enough data in a record for all fields, then the record is rejected. You can override this behavior by using MISSING
FIELD
VALUES
ARE
NULL
to define as NULL any fields for which there is no data available.
If field position is explicitly stated, then fields for which there are no values are always defined as NULL, regardless of whether MISSING
FIELD
VALUES
ARE
NULL
is used.
In the following example, the second record is stored with a NULL
set for the year_of_birth
column, even though the data for the year of birth is missing from the data file. If the MISSING FIELD VALUES ARE NULL
clause were omitted from the access parameters, then the second row would be rejected because it did not have a value for the year_of_birth
column. The example is followed by a sample of the data file that can be used to load it.
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