三流備忘録OracleのSQL PL/SQL 関数 ついての備忘録

UTL_FILE

説明

テキストファイルの読み書きを実行する。
(注意)ファイルへのアクセスは初期化パラメータファイル(init.ora)のUTL_FILE_DIRにディレクトリを指定する必要有。

FOPENファイルオープン
GET_LINEファイルから読み込む
PUT,PUT_LINE,PUTF,NEW_LINEファイルへ書き出し
FCLOSE,FCLOSE_ALLファイルクローズ

DECLARE
	fh 	UTL_FILE.FILE_TYPE;
	buf	varchar2(100);
BEGIN
	
	--書き込みモードでオープン
	fh := UTL_FILE.FOPEN('c:\temp','hoge.txt','w');
	
	--ファイルに出力
	UTL_FILE.PUT_LINE(fh,'hogehoge');
	UTL_FILE.FCLOSE(fh);
	
	--読み込みモードでオープン
	fh := UTL_FILE.FOPEN('c:\temp','hoge.txt','r');

	BEGIN
		LOOP
	      
			UTL_FILE.GET_LINE(fh, buf);
			DBMS_OUTPUT.PUT_LINE(buf);

	    END LOOP;
	EXCEPTION
	WHEN NO_DATA_FOUND THEN
	    DBMS_OUTPUT.PUT_LINE('No Data');
	END;
	
	UTL_FILE.FCLOSE(fh);
	
EXCEPTION

	WHEN UTL_FILE.INVALID_OPERATION THEN
		UTL_FILE.FCLOSE(fh);
	   	RETURN;
END;