2017-10-19 143 views
1

我真的堅持一項任務。 我有大約15個CSV文件加載到一個表中。全部具有相同的結構和列,並且都具有相同的分隔符。BTEQ Teradata將多個文件導入一張表

如何調整下面的腳本,以便我可以導入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) 

回答

2

我從來沒有嘗試過,但快速測試顯示,你可以使用=而不是REPEAT對於導入了。而=放置命令後:-)

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

這真是真棒,我不知道你能做到這一點。 – Andrew

+0

@Andrew:我也不知道,:-) – dnoeth

+0

@dnoeth再次感謝您的幫助和快速回復。 這真的很棒,很簡單!很高興知道。 最好的問候, Jacek – Jack84

相關問題