Variabel substitusi secara opsional diakhiri dengan titik untuk memisahkan mereka dari karakter apa pun yang mengikutinya. Jika Anda ingin menggunakannya juga dalam string, Anda harus menambahkan penghentian itu secara eksplisit:
spool E:\abc\Test\File1_&MYPeriod..csv
Untuk masalah dua baris tambahan, tambahkan set verify off
; saat ini disetel ke on
(secara default) sehingga menunjukkan nilai lama dan baru dari setiap variabel substitusi yang Anda gunakan.
Satu-satunya cara yang saya tahu untuk memasukkan tanggal ke dalam nama file adalah dengan memasukkannya ke dalam variabel substitusi terlebih dahulu:
set termout off
column x_run_dt new_value y_run_dt
select to_char(sysdate, 'YYYYMMDDHH24MISS') as x_run_dt from dual;
set termout on
spool E:\abc\Test\File1_&MYPeriod._&y_run_dt..csv
new_value
klausa memungkinkan Anda membuat variabel substitusi, &y_run_dt
dalam hal ini, dengan nilai dari kolom pertanyaan, x_run_dt
. Membungkus pilihan yang menghasilkan nilai itu antara set termout
klausa menyembunyikannya dari output normal, saat dijalankan sebagai skrip.