landolakes
IS-IT--Management
I am attempting to load many files using multiple INFILE parameters in a single SQL*Loader control file. I want to include in one of the data fields, the name of the current .dat file being processed (see "DOC_NAME" below). Where '090005.DAT' is hard-coded on that line, the current "INFILE" filename text should be inserted. I can't seem to find in any documentation how I can do this. Any thoughts?
sample.ctl:
sample data:
090005.DAT
----------
3ABCDEFGHIJKL
2ABC123ABC
3DEF456DEF2
090014A.DAT
-----------
134SDF45D
2AAAAAAAAAAAA
3BBBBBBBBBBBB
090026.DAT
----------
3ZZZZZ
2XYXYXYXY
1LKJHIGFEDCBA
sample.ctl:
Code:
LOAD DATA
INFILE '090005.DAT' "fix 13"
INFILE '090014A.DAT' "fix 13"
INFILE '090026.DAT' "fix 13"
INFILE '090057W.DAT' "fix 13"
INFILE 'ZW90062.DAT' "fix 13"
INFILE 'ZW90072.DAT' "fix 13"
APPEND
INTO TABLE "DOC_TEXT"
(CODE POSITION(1:1) CHAR
,
TEXT POSITION(2:13) CHAR
,
"QID" "QID_SEQ.NEXTVAL"
,
"TYPE" CONSTANT "A"
,
"PROCESS_DATE" SYSDATE
,
"POST_DATE"
,
"DOC_NAME" char(15) "SUBSTR('090005.DAT', 1, length('090005.DAT')-4)"
)
sample data:
090005.DAT
----------
3ABCDEFGHIJKL
2ABC123ABC
3DEF456DEF2
090014A.DAT
-----------
134SDF45D
2AAAAAAAAAAAA
3BBBBBBBBBBBB
090026.DAT
----------
3ZZZZZ
2XYXYXYXY
1LKJHIGFEDCBA