我有一个文本文件,大约有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;