oracle 之 外部表

外部表指不在数据库中表,指操作系统上的按一定格式分割的文本文件或者其他类型的表。外部表对于数据库来说是一个试图,需要建立一个临时表来与之关联,不是真正存在的表。不能进行DML,如创建索引等。

创建语法:CREATE TABLE Extnl_Table

   (

        Col01 varchar2(100),

        Col02 Number,

        ......

   )
   ORGANIZATION EXTERNAL
    ( TYPE ORACLE_LOADER  
      DEFAULT DIRECTORY "XXX"
      ACCESS PARAMETERS
      ( RECORDS DELIMITED BY 0X'0A'   。--Records关键字后定义如果识别数据行

SKIP 1  --SKIP X —— 跳过X行数据,有些文件中第一行是列名,需要跳过第一行,则使用SKIP 1

fields terminated by ','   -- Fields关键字后定义如果识别字段

enclosed by '"'  —— 字段引用符,包含在此符号内的数据都当成一个字段。例如一行数据格式如:"abc","a""b,""c,"。使用参数TERMINATED BY ',' ENCLOSED BY '"'后,系统会读到两个字段,第一个字段的值是abc,第二个字段值是a"b,"c,。

LRTRIM  —— 删除空白字符。

MISSING FIELD VALUES ARE NULL    --空缺值都设为Null

REJECT ROWS WITH ALL NULL FIELDS
    )
      LOCATION
       ( "CJ_DIR":'data.txt'
       )
    )

  ;

原文地址:https://www.cnblogs.com/lucyawei/p/2759026.html