file,10) full (contracts_file) */ *
from contracts_file ))) f
on
d.contract_id = f.contract_id
when matched
then
update set desc
= f.desc,
init_val_loc_curr = f.init_val_loc_curr,
init_val_adj_amt = f.init_val_adj_amt
when not
matched then
insert values ( f.contract_id,
f.desc,
f.init_val_loc_curr,
f.init_val_adj_amt);
So there we have it - our complex ETL
function all contained within a single Oracle MERGE statement. No
separate SQL*Loader phase, no staging tables, and all
piped through and loaded in parallel.