sql >> データベース >  >> RDS >> Oracle

Oracle外部テーブルの例

    外部テーブルの一般的な使用法の1つは、SQL *Plusを介したOSCSV(フラット)ファイルからのデータの選択です。このモードで外部テーブルを使用する場合は、ファイル内のデータのタイプとデータの編成方法を指定する必要があります。外部テーブルから選択することはできますが、内容を変更することはできません(挿入、更新、削除はできません)。

    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
    1. SQLServerにテーブルが存在するかどうかを確認します

    2. Excelスプレッドシートの列をSQLServerデータベースにインポートします

    3. SQL-varcharデータ型を日時データ型に変換した結果、値が範囲外になりました

    4. PostgreSQLでクロスデータベースクエリを実行することは可能ですか?