BTEQ Teradata 将多个文件导入一个 table
BTEQ Teradata Import Multiple files into one table
我真的坚持完成一项任务。
我有大约 15 个 CSV 文件要加载到一个 table 中。都具有相同的结构和列,并且都具有相同的分隔符。
如何调整下面的脚本,以便在加载多个文件时导入 File1、File2....File15?
我需要回复此代码 x15 次吗?
.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)
我以前从未尝试过,但快速测试表明您也可以使用 =
而不是 REPEAT
进行 IMPORT。并且 =
被放置在 之后 命令:-)
.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;
=*
...
我真的坚持完成一项任务。 我有大约 15 个 CSV 文件要加载到一个 table 中。都具有相同的结构和列,并且都具有相同的分隔符。
如何调整下面的脚本,以便在加载多个文件时导入 File1、File2....File15? 我需要回复此代码 x15 次吗?
.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)
我以前从未尝试过,但快速测试表明您也可以使用 =
而不是 REPEAT
进行 IMPORT。并且 =
被放置在 之后 命令:-)
.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;
=*
...