0

我有一个包含大约 100 列的文本文件,以"|". 我需要通过外部表从这个文件中获取一些列。所以我的解决方案是以ACCESS PARAMETERS与文件相同的顺序指定部分下的所有列。并在创建表定义中定义所需的列。或者在创建表本身中以相同的顺序定义所有列。

我可以避免定义查询中的所有列吗?是否可以根据第一行名称本身获取列 - 前提是我将列名称作为第一行。

或者是否至少可以在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;
4

0 回答 0