Gblog

おもにTips

外部表

外部表、データ移行で使えるかちょっと確認してました。

 

シバタツ流! DWHチューニングの極意 第2回 データ・ローディング

 

外部表から INSERT SELECT するメリットをすごく単純にいうと

  • SQLだからなんでもできるよ。

・・・CSV 取り込む用事があれば確かに、いいかもね。

 

サンプル

grant dba to g identified by g;
conn g/g
create directory tmpdir as '/tmp';
create table testcsv (
id number(2),
name varchar2(20)
)
organization external (
type oracle_loader
default directory tmpdir
access parameters (
records delimited by newline
fields terminated by ','
optionally enclosed by '"'
(id,name)
)
location ('test.csv')
);

 データはこんなかんじ

1,"dog"
2,"cat"

 

わざわざファイルに出力して別環境にロードするような場合は、pump でいいかな。

必要に応じて使い分け。