Oracle Error SQL*Loader-00820: cannot create where clause with range for table string

Oracle Error Message

SQL*Loader-00820: cannot create where clause with range for table string

Reason for the Error

The EXTERNAL_TABLE parameter was specified for a multi-table load, and a WHEN clause for one of the tables contains a reference to a range of bytes in the record. SQL Loader uses the WHEN clause from the control file to generate the WHERE clause in the INSERT statement. If the WHERE clause contains a reference to a range of bytes in the table, then a valid WHERE clause can not be generated. Note that SQL Loader will proceed as if GENERATE_ONLY was specified for the EXTERNAL_TABLE parameter.

Solution

Modify the control file to only use field references in the WHEN clause. Note that this may require creating a filler field. Another alternative is to create one control file for each table to be loaded and load the table separately.

Share:

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

Oracle Error Message ORA-24328: illegal attribute value Reason for the Error The attribute value passed in is illegal. Solution Consult...
Oracle Error Message ORA-01346: LogMiner processed redo beyond specified reset log scn Reason for the Error LogMiner has detected a...
Oracle Error Message ORA-13241: specified dimensionality does not match that of the data Reason for the Error An error occurred...