FCOPY プロシージャー - あるファイルから別のファイルへテキストをコピーする

FCOPY プロシージャーは、あるファイルから別のファイルへテキストをコピーします。

構文

構文図を読む構文図をスキップするUTL_FILE.FCOPY (location,filename, dest_dir,dest_file ,start_line,end_line)

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

location
ソース・ファイルを含むディレクトリーの別名を指定する、タイプ VARCHAR (128) の入力引数。
filename
ソース・ファイルの名前を指定する、タイプ VARCHAR (255) の入力引数。
dest_dir
宛先ディレクトリーの別名を指定する、タイプ VARCHAR (128) の入力引数。
dest_file
宛先ファイルの名前を指定する、タイプ VARCHAR (255) の入力引数。
start_line
コピーするソース・ファイルのテキストの最初の行の行番号を指定する、タイプ INTEGER の オプション入力引数。 デフォルトは 1 です。
end_line
コピーするソース・ファイルのテキストの最後の行の行番号を指定する、タイプ INTEGER の オプション入力引数。 この引数が省略されるか、NULL の場合、プロシージャーは、ファイルの終わりまですべてのテキストのコピーを続行します。

許可

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

emp 表からの従業員のコンマで区切られたリストを含むファイル、empfile.csv のコピーを作成します。

SET SERVEROUTPUT ON@

CREATE PROCEDURE proc1()
BEGIN
  DECLARE    v_empfile       UTL_FILE.FILE_TYPE;
  DECLARE    v_dirAlias      VARCHAR(50) DEFAULT 'empdir';
  DECLARE    v_src_file      VARCHAR(20) DEFAULT 'empfile.csv';
  DECLARE    v_dest_file     VARCHAR(20) DEFAULT 'empcopy.csv';
  DECLARE    v_empline       VARCHAR(200);
  CALL UTL_FILE.FCOPY(v_dirAlias,v_src_file,v_dirAlias,v_dest_file);
END@

CALL proc1@
この例では、以下の出力が結果として戻ります。
  Return Status = 0
ファイル・コピー、empcopy.csv には、以下のデータが含まれます。
10,CHRISTINE,I,HAAS,A00,3978,1/1/1965,PRES,18,F,8/24/1933,52750,1000,4220
20,MICHAEL,L,THOMPSON,B01,3476,10/10/1973,MANAGER,18,M,2/2/1948,41250,800,3300
30,SALLY,A,KWAN,C01,4738,4/5/1975,MANAGER,20,F,5/11/1941,38250,800,3060
50,JOHN,B,GEYER,E01,6789,8/17/1949,MANAGER,16,M,9/15/1925,40175,800,3214
60,IRVING,F,STERN,D11,6423,9/14/1973,MANAGER,16,M,7/7/1945,32250,500,2580
70,EVA,D,PULASKI,D21,7831,9/30/1980,MANAGER,16,F,5/26/1953,36170,700,2893
90,EILEEN,W,HENDERSON,E11,5498,8/15/1970,MANAGER,16,F,5/15/1941,29750,600,2380
100,THEODORE,Q,SPENSER,E21,972,6/19/1980,MANAGER,14,M,12/18/1956,26150,500,2092