FILE操作を行う(Oracleメモ)

DECLARE
    uf01 UTL_FILE.FILE_TYPE;
    file_rec VARCHAR2(255);
BEGIN

    /* ディレクトリ作成
      (PL/SQLでDDLを実行する場合は、動的SQL文かDBMS_SQLパッケージを使用する) */
    EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY TEST_DIR AS ''c:/tmp''';

    -- 書込テスト
    uf01 := UTL_FILE.FOPEN( 'TEST_DIR' , 'utl_file_test.txt', 'a', 256);
    UTL_FILE.PUT_LINE ( uf01, '書き込みTEST!!', true);
    UTL_FILE.FCLOSE(uf01);

    -- 読込テスト
    uf01 := UTL_FILE.FOPEN( 'TEST_DIR' , 'utl_file_test.txt', 'r', 256);
    LOOP
        file_rec := '';
        BEGIN
            UTL_FILE.GET_LINE ( uf01, file_rec, 256);
        EXCEPTION
            WHEN NO_DATA_FOUND THEN
                NULL;
            WHEN OTHERS THEN
                DBMS_OUTPUT.PUT_LINE('READ ERROR!');
        END;
        IF file_rec IS NULL OR file_rec = '' THEN
            EXIT;
        END IF;
        DBMS_OUTPUT.PUT_LINE(file_rec);
    END LOOP;
    UTL_FILE.FCLOSE(uf01);
END;

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-06-11 (木) 00:48:30 (4351d)