【发布时间】:2016-05-19 11:17:34
【问题描述】:
这是我创建的外部表:
CREATE TABLE emp_load
(
"ESN_NO" VARCHAR2 (200),
"MAKER" VARCHAR2 (30),
"HANDSET" VARCHAR2 (20),
"MODEL_NO" VARCHAR2 (20),
"OMH_TTSL_FLAG" VARCHAR2 (10),
"OFFER" VARCHAR2 (100),
"STATUS" VARCHAR2 (20),
"STATUS_UPDATED_DATE" DATE
) ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER DEFAULT DIRECTORY "EXT_TAB_DIR" ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE skip 1
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
missing FIELD VALUES are NULL
) LOCATION ('BAU.csv')
) ;
BAU.csv文件的示例内容
ESN No Make Model RI_value
A10000428A5348 Lava C180 OFFER14
A10000428A5349 Lava C180 OFFER14
A10000428A534A Lava C180 OFFER14
A10000428A534B Lava C180 OFFER14
它工作正常,但数据没有出现在我需要的列中;我希望列 handset 为空,但当前文件中的 model 值被加载到 handset 列中。所以我目前得到:
ESN_NO MAKER HANDSET MODEL_NO OMH_TTSL_FLAG OFFER STATUS STATUS_UPDATED_DATE
A10000428A5348 Lava C180 OFFER14
A10000428A5349 Lava C180 OFFER14
A10000428A534A Lava C180 OFFER14
A10000428A534B Lava C180 OFFER14
我希望跳过handset 列并将model 插入model_no;和omh_ttsl_flag 应被跳过,文件中的ri_value 应插入offer。所以我想结束的是:
ESN_NO MAKER HANDSET MODEL_NO OMH_TTSL_FLAG OFFER STATUS STATUS_UPDATED_DATE
A10000428A5348 Lava C180 OFFER14
A10000428A5349 Lava C180 OFFER14
A10000428A534A Lava C180 OFFER14
A10000428A534B Lava C180 OFFER14
如何在将数据加载到外部表时跳过这些列?
【问题讨论】:
-
@PravinS 你是怎么编辑的
-
大概您确实需要表格具有该结构,所有这些列并按该顺序排列;您不能仅使用映射到文件值的四列来创建表吗?还是在您从文件中获取的列之后将您留空的所有列都留空?
-
另外请检查我是否正确解释了您当前拥有的内容和您想要的内容,并且我对您的问题所做的编辑是正确的。