PUTF プロシージャー - 書式制御ストリングをファイルに書き込む

PUTF プロシージャーは、書式制御ストリングを指定されたファイルに書き込みます。

構文

構文図を読む構文図をスキップするUTL_FILE.PUTF (file,format, ,argN)

プロシージャー・パラメーター

file
ファイル・ハンドルを含むタイプ UTL_FILE.FILE_TYPE の入力引数。
format
テキストのフォーマット設定に使用するストリングを指定する、 タイプ VARCHAR(1024) の入力引数。 特殊文字シーケンス %s は、argN の値によって 置換されます。 特殊文字シーケンス ¥n は、改行を示しています。
argN
特殊文字シーケンス %s の対応するオカレンスに対して、書式制御ストリングで置換する値を指定する、 タイプ VARCHAR(1024) のオプション入力引数。最大 5 つの引数、arg1 から arg5 までを 指定できます。 arg1 は、 %s の最初のオカレンス用に 置換され、arg2 は、%s の 2 番目のオカレンス用に置換されるという具合です。

許可

UTL_FILE モジュールに対する EXECUTE 特権。

従業員データをフォーマットします。

SET SERVEROUTPUT ON@

CREATE PROCEDURE proc1()
BEGIN
  DECLARE v_filehandle    UTL_FILE.FILE_TYPE;
  DECLARE v_dirAlias      VARCHAR(50) DEFAULT 'mydir';
  DECLARE v_filename      VARCHAR(20) DEFAULT 'myfile.csv';
  DECLARE v_format        VARCHAR(200);
  SET v_format = '%s %s, %s¥nSalary: $%s Commission: $%s¥n¥n';
  CALL UTL_DIR.CREATE_OR_REPLACE_DIRECTORY('mydir', '/tmp');
  SET v_filehandle = UTL_FILE.FOPEN(v_dirAlias,v_filename,'w');
  CALL UTL_FILE.PUTF(v_filehandle,v_format,'000030','SALLY','KWAN','40175','3214'); 
  CALL DBMS_OUTPUT.PUT_LINE('Wrote to file: ' || v_filename);
  CALL UTL_FILE.FCLOSE(v_filehandle);
END@

CALL proc1@

この例では、以下の出力が結果として戻ります。

Wrote formatted text to file: myfile.csv

フォーマット 済みのファイル、myfile.csv には、 以下のデータが含まれます。

000030 SALLY, KWAN
Salary: $40175 Commission: $3214