【发布时间】:2014-12-11 22:00:59
【问题描述】:
数据库:Oracle 11gR2
操作系统:Linux
客户端:sqlplus
在 ksh 脚本中,我们可以有类似下面的内容
DOW=`date +%a` LOG= /home/output/$DOW
是否可以在 SQL 脚本中使用这样的 $DOW 变量?
基本上我正在运行 sql 脚本并将日志假脱机到一个位置,但是通过上述更改,我想在它运行的任何一天将日志位置更改为 DOW(Day Of Week) 目录。
e.g. spool /home/output/$DOW/test.log On tuesday script creates log under Tue directory /home/output/Tue/test.log
【问题讨论】:
-
@a_horse_with_no_name 添加了详细信息.. 谢谢。
-
如果您在操作系统脚本中使用
<< EOF结构,一切皆有可能。至少,在 Bash 上,我只是假设 Ksh 也允许这样做。因此,您只需编写一个也运行 SQL 命令的操作系统脚本。当你这样做时,你可以使用任何你想要的操作系统变量。否则,您需要将操作系统变量作为参数传递给 SQLPLUS 文件,例如:mysqlfile.sql $DOW $LOG $PATH