Oracle外部テーブル機能を使用すると、2つの異なる操作を実行できます。
- SQLを介してOSのカンマ区切り値(CSV)ファイルから情報を透過的に選択します。これにより、これらのファイルをデータベースにロードするなどのタスクを実行できます。
- データの転送に使用できるプラットフォームに依存しないダンプファイルを作成します。これらのファイルを圧縮して作成し、暗号化して効率的かつ安全なデータ転送を行うこともできます
この例では、フラットファイルの名前はex.csvで、D:Extblディレクトリにあります。次のデータが含まれています:5 | 2 | 0 | 0 | 12/04/2012 | Half6 | 1 | 0 | 1 | 09/06/2013 | Quarter7 | 4 | 0 | 1 | 08/10/2013 | Full8 | 1 | 1 | 0 | 06/15/2013 | Quarterまず、disk:SQL上のフラットファイルの場所を指すディレクトリオブジェクトを作成し、ディレクトリexa_dirを「D:Extbl」として作成します。次に、外部テーブルを作成するスクリプトを作成します。フラットファイルを参照します:create table exadata_et(exa_id NUMBER、machine_count NUMBER、hide_flag NUMBER、oracle NUMBER、ship_date DATE、rack_type VARCHAR2(32))organization external(type oracle_loaderdefault directory exa_diraccess parameters(records delimited by newlinefields end by'|'欠落しているフィールド値はnull(exa_id、machine_count、hide_flag、oracle、ship_date char date_format date mask "mm / dd / yyyy"、rack_type))location('ex.csv'))rejectlimit無制限;EXADATA_ETという名前の外部テーブルが作成されますこのスクリプトを実行するとき。次に、SQL*Plusを使用してフラットファイルの内容を表示します。SQL>select* from exadata_et; EXA_ID MACHINE_COUNT HIDE_FLAG ORACLE SHIP_DATE RACK_TYPE ---------- ------------ -------------- ---------- ---------- ------------------- -5 2 0 0 04-DEC-11 Half6 1 0 1 06-SEP-12 Quarter7 4 0 1 10-AUG-12 Full8 1 1 0 15-JUN-12 Quarter