Roland,
There are 2 techniques you can use. The first is what I call a 'dynamic
control file' - other posters have given you examples of that one, using
sed.
The next is create a 'loop loader'; essentially a script file that fires off
sqlldr for each loadable file. Here's an overly simple example
The way I handled a similar situation was to create a default SQL*Loader
file with something recognizable in the place that you want to do the
substitution (in your case, the infile filename). Then, I wrote a shell
script that created the correct filename and copied the default
SQL*Loader file to
Lyuda,
Did you get an answer for this? You can try using the SUBSTR command to
read the 7 char data string and rebuild it into something longer like:
col_dat "substr(:col_seq,1,2) || '--' || substr(:col_seq,3,3) || '--' ||
substr(:col_seq,6,2)"
Hope this helps
Tom Mercadante
Oracle Certified
Have a look at the section in sql loader on "applying SQL to fields" in theSLQ Loader documents
else
Is it possible for you to run the data through a Perl script to alter tha data before invoking sqlloader
Cheers
--
=
Peter McLarty
egindata
123,20010920,20,30,35
123,20010920,20,30,35
123,20010920,20,30,35
Regards,
Nirmal.
> -Original Message-
> From: Mercadante, Thomas F [SMTP:[EMAIL PROTECTED]]
> Sent: Friday, September 21, 2001 11:16 PM
> To: Multiple recipients of list ORACLE-L
> Subject: RE
Ron,
try this:
Load data
infile *
Append
Into table tab1
trailing nullcols
( col1 terminated by "," ,
col2 terminated by ",",
col3 terminated by "," ,
col4 terminated by "," ":col3*.07",
col5 terminated by "," )
begindata
123,20010920,20,30,35
123,20010920,20,30,35
123,20010920,20,30,35
I
Get yourself a copy of Oracle SQL*Loader by Gennick & Mishra, O'Reilly
Books.
I reviewed the discussion of it in Ch 8 of the book.
It looks like you need to script a Function and then reference the Function
name in the Control File.
Hope this helps.
It's not to simple so you need to get the
ROWS takes on a slightly different semantic meaning
depending on whether your load is direct-path or
conventional, but the practical effect is pretty much the
same. For a conventional path load, ROWS specifies the
number of rows for the bind array, which ends up being the
number of rows loaded bet
Lyuda,
According to the good ol' doc, when you use a direct
load with the ROWS param, Loader will count the rows
it's building into blocks, and 'save' the blocks when
each time ROWS is reached.
I've used ROWS in direct loads, and it worked as
advertised. The loads were still fast, and data
was s