在CSV中,使用oracle loader,如何跳过不是标题的行? 例如:
Names;Initials
SomethingForSkip
Name1;Inital1
Name2;Inital2
SomethingForSkip
Name3;Inital3
Name4;Inital4
目前我有这段代码:
CREATE TABLE t_ext_course(
UC CHAR(100),
SCIENTIFIC_FIELD CHAR(10),
DEPARTAMENT CHAR(100)
)
ORGANIZATION EXTERNAL
(
TYPE oracle_loader
DEFAULT DIRECTORY src_files
ACCESS PARAMETERS
(
RECORDS DELIMITED BY newline
BADFILE 'course.bad'
DISCARDFILE 'course.dis'
LOGFILE 'course.log'
SKIP 3
FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY '"' MISSING FIELD VALUES ARE NULL
(
UC CHAR(100),
SCIENTIFIC_FIELD CHAR(10),
DEPARTAMENT CHAR(100)
)
)
LOCATION ('course.csv')
)
REJECT LIMIT UNLIMITED;
提前感谢您的帮助。
答案 0 :(得分:2)
您可以使用LOAD WHEN
参数。您可以将其放在SKIP 3
参数后面。
使用LOAD WHEN
,您可以指定条件,以便仅加载满足该条件的源文件行。
SQL * Loader ,并且,通过扩展,oracle_loader
类型的外部表提供了BLANKS
关键字,您可以使用该关键字检查空字段。它对于您不知道字段长度的分隔数据很有用。
你可以像这样把它们放在一起:
LOAD WHEN (SCIENTIFIC_FIELD != BLANKS)