** 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;