で終わる約100列のテキストファイルがあります"|"
。そして、このファイルからいくつかの列を外部テーブルに取得する必要があります。したがって、私が持っている解決策は、ACCESS PARAMETERS
セクションの下のすべての列をファイルと同じ順序で指定することです。Create テーブル定義で必要な列を定義します。または、作成テーブル自体ですべての列を同じ順序で定義します。
クエリですべての列を定義しないようにすることはできますか? 最初の行名自体に基づいて列を取得することは可能ですか?最初の行として列名がある場合。
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;