![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
I would like to pass a variable into a spool command so that a different report is created depending on the time of the create The pseudo code would be @1=name || *|| to_char ( date etc ) spool @1 Does anyone know how I can achieve this using pl/sql & or substition variables My aim is to timestamp the name of my reports regards Chris B |
#4
| |||
| |||
|
|
The SPOOL command is a SQL*Plus command, not a SQL one. *I would set an environment variable at OS level and the shell will expand this correctly within your SQL script. *For example, on a UNIX system, *one could do: $ export LOG_FILE=script_name_`date +"%d%m%y"` Then, in SQL*Plus: SQL> *SPOOL $LOG_FILE etc... HTH -g- |
#5
| |||
| |||
|
|
On 1 July, 10:31, gazzag<gar... (AT) jamms (DOT) org> wrote: The SPOOL command is a SQL*Plus command, not a SQL one. I would set an environment variable at OS level and the shell will expand this correctly within your SQL script. For example, on a UNIX system, one could do: $ export LOG_FILE=script_name_`date +"%d%m%y"` Then, in SQL*Plus: SQL> SPOOL $LOG_FILE etc... HTH -g- Additionally, in a Windows environment, you can do the following: Windows now provides an enhancement to the DATE functionality which is handy for time-stamping log files. For example: C:\>echo %DATE% 01/07/2010 Windows provides the following functionality to reformat the output: echo %DATE:~<start_position> ,<number_of_characters>% (Note: start_position> starts counting from zero) E.g. To display just the year portion of the output: C:\>echo %DATE:~6,4% 2010 To display the month: C:\>echo %DATE:~3,2% 07 And the day of the month: C:\>echo %DATE:~0,2% 01 So, to generate a log file with the format<script_name>_ddmmyy.log, set an environment variable as follows: C:\>set LOG_FILE=script_%date:~0,2%%date:~3,2%%date:~8,2%. log C:\>echo %LOG_FILE% script_010710.log This environment variable will be expanded correctly within a SQL*Plus session: SYSTEM@XE> spool %LOG_FILE% SYSTEM@XE> select sysdate from dual; SYSDATE ------------------ 01-Jul-10 10:57:16 SYSTEM@XE> spool off C:\>dir *.log 01/07/2010 10:57 430 script_010710.log C:\>type script_010710.log SYSTEM@XE> select sysdate from dual; SYSDATE ------------------ 01-Jul-10 10:57:16 SYSTEM@XE> spool off HTH -g |
#6
| |||
| |||
|
|
Does anyone know how I can achieve this using pl/sql & or substition variables |
| My aim is to timestamp the name of my reports regards Chris B |
#7
| |||
| |||
|
|
Positions in the date string may vary for different languages.... Shakespeare- Hide quoted text - |
![]() |
| Thread Tools | |
| Display Modes | |
| |