** FILE操作を行う([[Oracleメモ]]) [#qafb194c]
#setlinebreak(on);

 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