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


Web oracle.se-free.com
ファイルの存在チェック(UTL_FILE.FGETATTR)
スポンサード リンク

ファイルの存在チェックは、UTL_FILEパッケージのFGETATTRを使用します。


UTL_FILE.FGETATTR(ディレクトリオブジェクト名 , ファイル名 , 存在チェック結果 , ファイルサイズ , ブロックサイズ);


ファイル存在チェック操作をする前に、チェックするユーザにディレクトリの操作権限を付与する必要があります。

create directory ディレクトリオブジェクト名 as ディレクトリパス;
grant read on directory ディレクトリオブジェクト名 to ユーザ名;
grant write on directory ディレクトリオブジェクト名 to ユーザ名;

    ※UTL_FILE.FGETATTRは、Oracle9iR2から使用可能です。


例1) ユーザー「user01」に存在チェックファイルのディレクトリに権限を付与する
create directory TMP as 'c:\temp';
grant read on directory TMP to user01;
grant write on directory TMP to user01;


例2) 「c:\temp\test.txt」の存在チェックをする。

declare

 file_chk boolean;
 file_size number;
 block_size number;

begin
 utl_file.fgetattr('TMP','test.txt',file_chk ,file_size , block_size);

 if file_chk then
  dbms_output.put_line('ファイルが存在します。');
 else   dbms_output.put_line('ファイルが存在しません。');
 end if;
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へ