0

Oracle11gを使用しています。特定のレコードをテーブルからフラットファイルに移動したかったのです。sqlldrのように同じことをするユーティリティはありますか?私は同じことをするためにUNIXスクリプトを作成しましたが、それは目的を果たしていませんでした。助けてください

4

1 に答える 1

1

パッケージを使用UTL_FILEして、すべてのテーブル データをフラット ファイルにロードできます。これがそのサンプルコードです

DECLARE
    p_file      util_file.file_type;
    l_table     your_table_name.ROWTYPE;
    l_delimited VARCHAR2(1) := '|';
BEGIN
    p_file := utl_file.Fopen('<file_path>', '<file_name>', 'W');

    FOR l_table IN (SELECT *
                    FROM  your_table_name) LOOP
        utl_file.Putline(p_file, l_table.col1
                                 ||l_delimited
                                 ||l_table.col2
                                 ||l_delimited
                                 ||l_table.col3
                                 ||l_delimited
                                 ||l_table.col4
                                 ||Chr(10));
    END LOOP;

    utl_file.Fclose_all();
END; 

パッケージのOracle ドキュメントを確認してください

于 2013-01-04T07:20:05.970 に答える