ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
ファイルの書き込み(UTL_FILE.PUT_LINE)
スポンサード リンク

テキストファイル書き込みは、UTL_FILEパッケージのPUT_LINE、またはPUTプロシージャを使用します。


ファイルオープン
UTL_FILE.FILE_TYPE ファイルハンドル
       := UTL_FILE.FOPEN(ディレクトリパス,ファイル名,'w' || 'a');

ファイル書込み
UTL_FILE.PUT_LINE(ファイルハンドル,書き込みバッファ);
UTL_FILE.PUT(ファイルハンドル,書き込みバッファ);

ファイルクローズ
UTL_FILE.FCLOSE(ファイルハンドル);

ファイルオープンで、FOPENの第3引数に指定する書き込みモードは下記の2種類ある。
 'w' ・・・ 上書きモード
 'a' ・・・ 追加モード

PUT_LINEは、改行コード付きで出力されます。

PUTは、改行コードが出力されないので、改行コードを出力させるには、NEW_LINEプロシージャを使用します。

出力レコードの最大サイズは1023バイトになる。



例1) 表「dept」から読み込んだレコードを、ファイル「c:\temp\test.txt」にCSVファイルで出力する。
declare

 out_handle utl_file.file_type;
 buf varchar2(1023);

begin

 -- 書き込みモードでファイルオープン
 out_handle := utl_file.fopen('c:\temp','test.txt','w');

 for c_rec in (select dept_id,dept_name from dept) loop
  buf := c_rec.dept_id || ',' || c_rec.dept_name;
  -- 1レコードファイルに書き込み
  utl_file.put_line(out_handle,buf);
 end loop;

 -- ファイルクローズ
 utl_file.fclose(out_handle);

exception
 when others then
  dbms_output.put_line('その他エラー');

end;

スポンサード リンク


UTL_FILEパッケージを使用する準備
ファイルの読み込み(UTL_FILE.GET_LINE)
ファイルの書き込み(UTL_FILE.PUT_LINE)
ファイルの削除(UTL_FILE.FREMOVE)
ファイルの移動(UTL_FILE.FRENAME)
ファイルの存在チェック(UTL_FILE.FGETATTR)
ファイルのコピー(UTL_FILE.FCOPY)
UTL_FILEによって通知される例外

PL/SQL へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ