Re: SQL Loader Novice - HELP
Date: Wed, 20 Dec 2000 18:19:30 GMT
Message-ID: <91qt7a$d7n$1_at_nnrp1.deja.com>
[Quoted] In article <91qcom$u4f$1_at_nnrp1.deja.com>,
maleform_at_my-deja.com wrote:
> 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
> experience would read this, I sure would appreciate it. I am trying
to
> load a table as follows:
>
> NIGP_LOAD_TB has columns:
> 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
> zero, fill in level1 desc. If level 3,4 codes are zero, fill in
level2
> 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)
>
> 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/
>
[Quoted] You might want to post what is happening? Error message, data that is loading, etc.
-- Michael Krolewski Rosetta Inpharmatics mkrolewski_at_rii.com Usual disclaimers Sent via Deja.com http://www.deja.com/Received on Wed Dec 20 2000 - 19:19:30 CET