Oracle関数を使用した任意のデータ処理を制御ファイルに含めることができます。
たとえば、このコードは列1と2を交換し、さらにsource_field2
を変換します。 番号を付け、間違った値をサイレントにnullに置き換えます:
load data
append
into table SCHEMA.TABLE
fields terminated by ';' optionally enclosed by '"'
trailing nullcols
(
source_field1 BOUNDFILLER,
source_field2 BOUNDFILLER,
source_field3 BOUNDFILLER,
destination_field1 "to_number(regexp_substr(:source_field2, '^[-0-9,]*'),'9999999999D999','NLS_NUMERIC_CHARACTERS='', ''')",
destination_field2 ":source_field1",
destination_field3 ":source_field3"
)