Case statement logic for External Tables
Hi All,
Is there anyway I can perform a CASE logic in External table creation script?
I have a column which is supposed to receive only Numbers. But if i inadvertently receive a String, i want to insert NULL for that instance.
My table has the following creation syntax: ( I have to make a check for the NumValue column - althought I am using VARCHAR2(50) I have the transformation stage where the NumValue column has a CASE logic ; my entire file is getting rejected just because a single row in the input dat file is coming as a String)
CREATE TABLE XYZ_TABLE
(
LineNumber NUMBER(20),
NumValue VARCHAR2(50 BYTE)
)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY "EXT_TAB_DIR"
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
BADFILE 'EXT_TAB_DIR_LOG':'FILE1.BAD'
LOGFILE 'EXT_TAB_DIR_LOG':'FILE1.LOG'
DISCARDFILE 'EXT_TAB_DIR_LOG':'FILE1.DSC'
FIELDS TERMINATED BY '#|#'
OPTIONALLY ENCLOSED BY '#$' and '$#'
MISSING FIELD VALUES ARE NULL(
LINENUMBER,
NUMVALUE
)
)
LOCATION
( 'FILE1.dat'
)
)
REJECT LIMIT UNLIMITED;
Thank you,
Chaitanya