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;
=*
...