A record can be rejected for the following reasons:
Upon insertion, the record causes an Oracle error (such as invalid data for a given data type).
The record is formatted incorrectly so that SQL*Loader cannot find field boundaries.
The record violates a constraint or tries to make a unique index non-unique.
If the data can be evaluated according to the
WHEN clause criteria (even with unbalanced delimiters), then it is either inserted or rejected.
Neither a conventional path nor a direct path load will write a row to any table if it is rejected because of reason number 2 in the previous list.
A conventional path load will not write a row to any tables if reason number 1 or 3 in the previous list is violated for any one table. The row is rejected for that table and written to the reject file.
In a conventional path load, if the data file has a record that is being loaded into multiple tables and that record is rejected from at least one of the tables, then that record is not loaded into any of the tables.
The log file indicates the Oracle error for each rejected record. Case study 4 demonstrates rejected records. (See "SQL*Loader Case Studies" for information on how to access case studies.)