SQL Loader Novice - HELP

From: <maleform_at_my-deja.com>
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

Original text of this message