1
我的數據是這樣的:這個Oracle CTL文件或數據有什麼問題?
ID,SCORE_DATE,TYPE,SCORE,RAW_SCORE,RANK
A1234,2012-09-05 23:59:59,FOOTBALL_TEAM_MIDDLE_AND_OLD_1234,10,0.123,1
A5678,2012-09-05 23:59:59,FOOTBALL_TEAM_MIDDLE_AND_OLD_1234,20,0.456,2
CTL FILE:
load data
infile 'E:\Data\Sample.csv'
badfile 'E:\Data\Sample.bad'
APPEND into table TABLE1
fields terminated by "," optionally enclosed by '"'
TRAILING NULLCOLS
(
DRIVER,
STARTDTE "to_date(SUBSTR(:STARTDTE,1,10),'YYYY-MM-DD') - 27",
TYPE CONSTANT 'FOOTBALL',
SCORE ,
RANKSCORE ":SCORE",
RANK ,
ENDDTE "to_date(SUBSTR(:STARTDTE,1,10),'YYYY-MM-DD')",
LOADDT "sysdate"
)
這裏是我的表結構:
CREATE TABLE "TABLE1"
(
"DRIVER" VARCHAR2(50 BYTE),
"STARTDTE" DATE,
"SCORE" NUMBER,
"ENDDTE" DATE,
"TYPE" VARCHAR2(20 BYTE),
"RANK" NUMBER,
"RANKSCORE" NUMBER,
"LOADDT" VARCHAR2(20 BYTE)
);
我收到的每一行的錯誤信息加載: 記錄3:拒絕 - 表格1,列SCORE出錯。 ORA-01722:無效號碼
什麼問題?
Rajesh - 對不起,這是一個錯字,表中有一個TYPE列。你能解釋一下「FILLER1 FILLER」部分嗎?我想插入一個常量'FOOTBALL'而不是數據文件中的值。 – Ram
如果您想要忽略文件中的第三列,則需要指定該列被忽略。這可以使用關鍵字「FILLER」完成。編輯我的答案。 –
Rajesh,第三列是TYPE。我只想忽略我在數據文件中獲得的數據,並插入'FOOTBALL'.THIRD_COLUMN不是一個單獨的列而不是TYPE。 – Ram