Oracle 9i,10g,11g 下的 UTL_FILE_DIR 及 DIRECTORY - 2

tolywang發表於2014-11-29

directory及utl_file的例子:

 create or replace directory  UTF_DIR_01  as '/u01/test';
 grant read,write on directory  UTF_DIR_01  to wang ;


eg 1: 將某些資訊寫入檔案:

 declare
     v_file utl_file.file_type;
     begin
       v_file := utl_file.fopen('UTF_DIR_01', 'test_dir.txt', 'w');
       utl_file.put_line(v_file , '1. write test msg to utl_file');
       utl_file.put_line(v_file , '2. write test msg to utl_file');
       utl_file.fclose(v_file);
     end;
     /

  fopen      開啟指定的目錄路徑的檔案。
 get_line   獲取指定檔案的一行的文字。
 put_line   向指定的檔案寫入一行文字。  
  fclose     關閉指定的檔案。
 


eg 2: 讀取檔案所有資訊,寫入表中。

declare
     v1  VARCHAR2(32767);
     v_file utl_file.file_type;
     begin
       v_file := utl_file.fopen('UTF_DIR_01', 'test_dir.txt', 'r');
       loop
           utl_file.get_line(v_file , v1);
           insert into wang.test_dir values(v1);
           commit;
           -- dbms_output.put_line('v1: ' || v1);
       end loop ;
           utl_file.fclose(v_file);
       exception
         when NO_DATA_FOUND then
           utl_file.fclose(v_file);
     end;
     / 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1351242/,如需轉載,請註明出處,否則將追究法律責任。

相關文章