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