-1
ディレクトリを作成し、ファイルを作成するための匿名ブロックを作成しました。ブロックを実行するたびにファイルが上書きされます。私はそれを新しいファイルとして作成する必要があります。これを達成するために私は何をすべきですか?ディレクトリの作成ファイルの名前付け
DECLARE
v_name utl_file.file_type;
v_count NUMBER := 0;
BEGIN
v_name := utl_file.fopen('PLSQL_DIR', 'Task1.txt', 'W');
utl_file.put_line(
v_name,
TO_CHAR(SYSDATE, 'DD/MM/YY/HH/MI')||' Data Migration Starts'
);
FOR i IN (SELECT * FROM sue_par_det_tb) LOOP
utl_file.put_line(
v_name,
i.patient_name||', '|| i.ord_date||', '|| i.mobile_number||', '|| i.refered_by
);
v_count := v_count + 1;
END LOOP;
utl_file.put_line(
v_name,
v_count||' Rows generated at '||TO_CHAR(SYSDATE, 'DD/MM/YY/HH24/MI')
);
utl_file.fclose(v_name);
END;
/
あなたの質問を編集して、あなたのコードを追加してください。同じファイル名を使用している場合、Oracleは同じファイルに書き込みます。 –
DECLARE \t v_name \t utl_file.file_type; \t v_count \t NUMBER:= 0; BEGIN \t v_name:= utl_file.fopen( 'PLSQL_DIR'、 'Task1.txt'、 'W'); \t utl_file.put_line(v_name、TO_CHAR(SYSDATE、 'DD/MM/YY/HH/MI')|| 'データ移行の開始'); \t私は(sue_par_det_tb SELECT * FROM)のため \t \t LOOP \t \t utl_file.put_line(v_name、 \t \t \t \t \t \t i.patient_name || '' || \t \t \t \t \t \t私。 || '、' || \t \t \t \t \t \t i.refered_by); \t \t v_count:= v_count + 1; \t \t END LOOP;\t utl_file.put_line(v_name、v_count || '' || TO_CHAR(SYSDATE、 'DD/MM/YY/HH24/MI')で生成された行。 \t utl_file.fclose(v_name); END; / –
上記のクエリでは、n回実行するために重複ファイルを作成する必要があります。 –