Posted by & filed under ORACLE.

リンク: @IT 会議室 – スレッド一覧.
リンク: PL/SQL文にて – Database Expert.
–ファイル名設定
file_name := UPPER(rec_kaisya_1.kaisya_cd) || ‘_KATAMEI_ERROR_’ || to_char(sysdate, ‘YYMMDD’) || ‘.csv’;

–ファイルオープン(新規書き込みモード)
File_Handle := UTL_FILE.FOPEN(file_dir, file_name, ‘w’);
–日付の書き込み
UTL_FILE.PUTF(File_Handle, ‘Created: %s\n’, SYSDATE);
–ファイルへの書き込み(改行のみ)
UTL_FILE.NEW_LINE(FILE_HANDLE);
–見出しの書き込み
v_line_header := ‘会社コード, 会社名, 販製品名, 数量’;
UTL_FILE.PUT_LINE(File_Handle, v_line_header);

–会社毎のデータ取得
FOR rec_kaisya IN cur_kaisya(v_nenki,rec_kaisya_1.kaisya_cd ) LOOP
–一行づつ書き込み
UTL_FILE.PUTF(File_Handle,’ ‘’%s, ‘’%s, ‘’%s, %s\n’,
rec_kaisya.kaisya_cd
,rec_kaisya.kaisya_jname
  ,rec_kaisya.hanseihin_mei
,rec_kaisya.su);

END LOOP;
UTL_FILE.FCLOSE(File_Handle);

END LOOP;

–略–

/*

*ファイルの削除

ファイルの削除のプロシージャはUTL_FILE.FREMOVE を利用します。
このプロシージャは実行するユーザーに十分な権限があるという前提で
ファイルの削除をすることが可能。
このプロシージャはバイナリデータに対しても使用可能。

<プロシージャ定義>
UTL_FILE.FREMOVE
(削除対象のあるディレクトリ名IN VARCHAR2,
移動対象のファイルIN VARCHAR2)

<使用例>
C:\DATAFILE\TEST.TXT を削除する
SQL> host dir /b
TEST.TXT
SQL> exec utl_file.fremove(’DIR_C’,’TEST.TXT’);
PL/SQL プロシージャが正常に完了しました。
SQL> host dir /b
SQL>

Comments are closed.