Oracle の外部テーブルに読み込まれる入力ファイルがいくつかあります。すべてのファイルのコンテンツに対していくつかのクエリを実行したいのですが、元の入力ファイルに基づいてデータをフィルタリングしたいクエリがいくつかあります。外部テーブルに対する select ステートメントでソース ファイルの名前にアクセスする方法や、ロケーション ソースを含む外部テーブルに列を作成する方法はありますか。
次に例を示します。
CREATE TABLE MY_TABLE (
first_name CHAR(100 BYTES)
last_name CHAR(100 BYTES)
)
ORGANIZATION EXTERNAL
TYPE ORACLE_LOADER
DEFAULT DIRECTORY TMP
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
SKIP 1
badfile 'my_table.bad'
discardfile 'my_table.dsc'
LOGFILE 'my_table.log'
FIELDS terminated BY 0x'09' optionally enclosed BY '"' LRTRIM missing field VALUES are NULL
(
first_name char(100),
last_name
)
)
LOCATION ( TMP:'file1.txt','file2.txt')
)
REJECT LIMIT 100;
select distinct last_name
from MY_TABLE
where location like 'file2.txt' -- This is the part I don't know how to code
助言がありますか?
ファイル名を追加の列として入力ファイル自体に追加するオプションが常にあります。理想的には、この回避策を回避したいと思います。