Oracle外部表列基于标题行或星号(*)

时间:2016-09-29 15:10:14

标签: oracle external-tables

我有一个文本文件,大约有100列以"|"结尾。我需要通过外部表将此文件中的一些列添加到外部表中。因此,我所拥有的解决方案是以与文件相同的顺序指定ACCESS PARAMETERS部分下的所有列。并在Create表定义中定义所需的列。或者在create table本身中以相同的顺序定义所有列。

我可以避免在查询中定义所有列吗?是否可以根据第一行名称获取列 - 假设我将列名称作为第一行。

或者至少可以在不提及每一列的情况下获取所有列(select *)? 以下是我使用的代码

drop table lz_purchase_data;
CREATE TABLE lz_purchase_data  
(REC_ID CHAR(50))
           ORGANIZATION EXTERNAL
            ( TYPE ORACLE_LOADER
              DEFAULT DIRECTORY "FILEZONE"
              ACCESS PARAMETERS
              ( RECORDS DELIMITED BY NEWLINE Skip 1
                FIELDS  TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
                        LRTRIM MISSING FIELD VALUES ARE NULL
              ) LOCATION( 'PURCHASE_DATA.txt' ))
           REJECT LIMIT UNLIMITED
        PARALLEL 2 ;

        select * from LZ_PURCHASE_DATA;

0 个答案:

没有答案