SQL Loader Novice - HELP
Date: Wed, 20 Dec 2000 13:38:30 GMT
Message-ID: <91qcom$u4f$1_at_nnrp1.deja.com>
[Quoted] I am having quite a time trying to figure out this bloody SQL*Loader syntax. I am almost there but if one of you kind people who have some [Quoted] experience would read this, I sure would appreciate it. I am trying to [Quoted] load a table as follows:
NIGP_LOAD_TB has columns:
[Quoted] LEVEL1_CODE , LEVEL2_CODE, LEVEL3_CODE, LEVEL4_CODE NUMBER(38)
LEVEL1_DESC, LEVEL2_DESC, LEVEL3_DESC, LEVEL4_DESC VARCHAR(1000)
UNIT_OF_MEASURE VARCHAR(50)
The logic I wish to employ is simply that if the level2,3,4 codes are
[Quoted] zero, fill in level1 desc. If level 3,4 codes are zero, fill in level2
[Quoted] [Quoted] desc. And if level 4 code is zero, fill in level3 desc. Otherwise
fill in level 4 desc
Here is the control file I have come up with so far but it is not working:
OPTIONS (ROWS=5000)
LOAD DATA
INFILE 'NIGP11th.txt'
BADFILE 'NIGPLOAD.BAD'
DISCARDFILE 'NIGPLOAD.DISCARD'
APPEND
INTO TABLE NIGP_LOAD_TB
WHEN LEVEL2_CODE = '00' AND LEVEL3_CODE = '000' AND LEVEL4_CODE
= '0000'
(LEVEL1_CODE POSITION(1:3) CHAR,
LEVEL2_CODE POSITION(4:5) CHAR, LEVEL3_CODE POSITION(6:8) CHAR, LEVEL4_CODE POSITION(9:12) CHAR,
UNIT_OF_MEASURE POSITION(13:16) CHAR, LEVEL1_DESC POSITION(*) VARCHAR)
INTO TABLE NIGP_LOAD_TB
WHEN LEVEL3_CODE = '000' AND LEVEL4_CODE = '0000'
(LEVEL1_CODE POSITION(1:3) CHAR,
LEVEL2_CODE POSITION(4:5) CHAR, LEVEL3_CODE POSITION(6:8) CHAR, LEVEL4_CODE POSITION(9:12) CHAR,
UNIT_OF_MEASURE POSITION(13:16) CHAR, LEVEL2_DESC POSITION(*) VARCHAR)
INTO TABLE NIGP_LOAD_TB
WHEN LEVEL4_CODE = '0000'
(LEVEL1_CODE POSITION(1:3) CHAR,
LEVEL2_CODE POSITION(4:5) CHAR, LEVEL3_CODE POSITION(6:8) CHAR, LEVEL4_CODE POSITION(9:12) CHAR,
UNIT_OF_MEASURE POSITION(13:16) CHAR, LEVEL3_DESC POSITION(*) VARCHAR)
INTO TABLE NIGP_LOAD_TB
WHEN LEVEL2_CODE != '00' AND LEVEL3_CODE != '000' AND LEVEL4_CODE ! = '0000'
(LEVEL1_CODE POSITION(1:3) CHAR,
LEVEL2_CODE POSITION(4:5) CHAR, LEVEL3_CODE POSITION(6:8) CHAR, LEVEL4_CODE POSITION(9:12) CHAR,
UNIT_OF_MEASURE POSITION(13:17) CHAR, LEVEL4_DESC POSITION(*) VARCHAR) [Quoted] Can anyone see what it is I am doing wrong? Thanks a million.
-- Sincerely, Larry Geller Database Specialist Oracle,Sybase,MS SQL Server Sent via Deja.com http://www.deja.com/Received on Wed Dec 20 2000 - 14:38:30 CET