Zmienne zastępcze są opcjonalnie zakończone kropką aby oddzielić je od kolejnych postaci. Jeśli chcesz użyć go również w ciągu, musisz wyraźnie dodać to zakończenie:
spool E:\abc\Test\File1_&MYPeriod..csv
W przypadku problemu z dwoma dodatkowymi liniami dodaj set verify off
; w tej chwili jest ustawiony na on
(domyślnie), więc pokazuje starą i nową wartość wszystkich używanych zmiennych podstawiania.
Jedynym sposobem, jaki znam, aby umieścić datę w nazwie pliku, jest umieszczenie jej najpierw w zmiennej podstawienia:
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
klauzula pozwala utworzyć zmienną podstawienia, &y_run_dt
w tym przypadku z wartością z kolumny, której dotyczy zapytanie, x_run_dt
. Zawijanie zaznaczenia, które generuje tę wartość między set termout
klauzule ukrywają je przed normalnym wyjściem, gdy są uruchamiane jako skrypt.