Substitutionsvariabler er valgfrit afsluttet med et punktum for at adskille dem fra eventuelle tegn, der følger. Hvis du også vil bruge en i strengen, skal du tilføje denne opsigelse eksplicit:
spool E:\abc\Test\File1_&MYPeriod..csv
For problemet med to ekstra linjer skal du tilføje set verify off
; i øjeblikket er den indstillet til on
(som standard), så den viser dig den gamle og den nye værdi af alle substitutionsvariabler, du bruger.
Den eneste måde, jeg kender til at få datoen ind i filnavnet, er at sætte den ind i en substitutionsvariabel først:
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
klausul lader dig oprette en substitutionsvariabel, &y_run_dt
i dette tilfælde med en værdi fra en søgt kolonne, x_run_dt
. Indpakning af det udvalg, der genererer denne værdi, mellem set termout
klausuler skjuler det fra det normale output, når det køres som et script.