Mit folgendem Konstrukt ist es möglich in SQL*Plus den letzten Wert einer Query einer Variablen zu zuweisen.
Beispiel:
column filename new_value dateiname
select ’spool_name_‘ || to_char(sysdate,’yyyymmddhh24miss‘) filename from dual;
spool &dateiname
select user from dual;
spool off
!ls -l spool_name_*
!cat &dateiname\.lst
Ergebnis:
SQL>
SQL> column filename new_value dateiname
SQL> select ’spool_name_‘ || to_char(sysdate,’yyyymmddhh24miss‘) filename from dual;
FILENAME
————————-
spool_name_20111005123727
SQL> spool &dateiname
SQL> select user from dual;
USER
——————————
SYS
SQL> spool off
SQL>
SQL> !ls -l spool_name_*
!cat &dateiname\.lst
-rw-rw-r– 1 oracle oinstall 288 Oct 5 12:37 spool_name_20111005123727.lst
SQL> select user from dual;
USER
——————————
SYS
SQL> spool off
SQL>