当前位置: 代码迷 >> SQL >> sqlload及loader形式外部表末字段为空处理选项
  详细解决方案

sqlload及loader形式外部表末字段为空处理选项

热度:83   发布时间:2016-05-05 12:54:22.0
sqlload及loader方式外部表末字段为空处理选项

1、sqlloader对末字段为空的处理
一般的sqlloader导入中,如果最后一个字符不为空,则一条记录的的最后是不需要加分隔符的;Sqlloader程序可以正常导入。但如果末字符为空,记录的最后则必须加分隔符才能正常导入。实际上,sqlloader有专门的处理选项,在“FIELDS TERMINATED BY '|'”的下一行添加“TRAILING NULLCOLS”即可;记录的最后也不需要添加一个分隔符了。
示例控制文件:

OPTIONS(skip=1,rows=10000) LOAD DATAINFILE 'ReportData1.dat'TRUNCATEINTO TABLE REPORT_DATAFIELDS TERMINATED BY '|'TRAILING NULLCOLS(REPORTNO      ,ROWNO         ,ROWNAME       ,ROWSUBJECT    ,DISPLAYORDER  ,ROWDIMTYPE    ,ROWATTRIBUTE  ,COL1VALUE     ,COL2VALUE     ,COL3VALUE     ,COL4VALUE     ,STANDARDVALUE )  

2、loader方式oracle外部表末字段为空的处理
外部表中的处理选项与sqlloader稍有所不同,loader方式外部表在这种情况下使用选项“missing field values are null”。
示例建表语句如下:

-- Create tablecreate table PDM_XML(  TAB_ID      VARCHAR2(1000),  TAB_NAME    VARCHAR2(1000),  TAB_CODE    VARCHAR2(1000),  TAB_COMMENT VARCHAR2(1000),  ID2         VARCHAR2(1000),  NAME2       VARCHAR2(1000),  CODE2       VARCHAR2(1000),  COMMENT2    VARCHAR2(1000),  DATATYPE    VARCHAR2(1000),  LENGTH      VARCHAR2(1000),  PRECISION   VARCHAR2(1000))organization external(  type ORACLE_LOADER  default directory ORCL_DIR  access parameters   (    RECORDS DELIMITED BY NEWLINE    FIELDS TERMINATED BY '|'    missing field values are null  )  location (ORCL_DIR:'pdm_xml.txt'))reject limit 0;

3、说明
本文中相关实例演示可参看本人相关博客:
http://hi.baidu.com/nsj820/item/8e152b11a23028ddbf9042bc
http://hi.baidu.com/nsj820/item/aa1fe2a285e08d248919d3a0
进行数据准备、建表语句、实例测试等。

  相关解决方案