Reputation: 79
I really stuck with one task. I have approx 15 CSV files to load into one table. All have the same structure and columns and all have the same separator.
How I can adjust below script so I can import File1, File2....File15 as multiple files load ? Do I need to reply this code x15 times?
.RUN FILE = C:\Users\Jacek\logonfile.txt
CREATE SET TABLE LOAD_TEST ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
LOG_NUM CHAR(4) CHARACTER SET LATIN NOT CASESPECIFIC,
INIT_NUM SMALLINT,
SUPPLIER VARCHAR(100) CHARACTER SET LATIN NOT CASESPECIFIC )
PRIMARY INDEX (LOG_NUM)
;
.IMPORT VARTEXT '|' FILE ="C:\Users\Jacek\Desktop\File1.TXT", skip=1;
.REPEAT * PACK 10000;
USING
LOG_NUM (VARCHAR(4)),
INIT_NUM (VARCHAR(100)),
SUPPLIER (VARCHAR(100)),
INSERT INTO LOAD_TEST
VALUES (
:LOG_NUM,
:INIT_NUM,
:SUPPLIER)
Upvotes: 1
Views: 2218
Reputation: 60462
I never tried it before, but a quick test showed that you can use =
instead of REPEAT
for an IMPORT, too. And =
is placed after the command :-)
.SET PACK 10000;
.IMPORT VARTEXT '|' FILE ="C:\Users\Jacek\Desktop\File1.TXT", skip=1;
.REPEAT *
USING
LOG_NUM (VARCHAR(4)),
INIT_NUM (VARCHAR(100)),
SUPPLIER (VARCHAR(100)),
INSERT INTO LOAD_TEST
VALUES (
:LOG_NUM,
:INIT_NUM,
:SUPPLIER);
.IMPORT VARTEXT '|' FILE ="C:\Users\Jacek\Desktop\File2.TXT", skip=1;
=*
.IMPORT VARTEXT '|' FILE ="C:\Users\Jacek\Desktop\File3.TXT", skip=1;
=*
...
Upvotes: 3