我在开头放了sql脚本:
column dt new_value mydate noprint
select to_char(sysdate. 'YYYYMMDD') dt from dual;
spool &mydate.test.log
尝试使用时间戳假脱机日志。
但是,当我这样做时,假脱机输出文件名,如&mydate.test.log
谁知道我错过了什么?
提前致谢!
在SQL * Plus中,检查define
设置
show define
通常,这应该给出类似的东西
define "&" (hex 26)
但是,可以将其设置为不同的字符,或者完全禁用它,在这种情况下你会看到
define OFF
并重新启用它你需要
set define on
如果你想在日期和.
之间保留test.log
,你需要两个点,因为第一个终止了替换变量:
SQL> spool &mydate..test.log
SQL> spool
currently spooling to 20180830.test.log
你需要
SET define ON
例如:
SQL> column dt new_value mydate noprint
SQL> select to_char(sysdate, 'YYYYMMDD') dt from dual;
SQL> set define off
SQL> select '&mydate' from dual;
'&MYDATE'
--------------------------------
&mydate
SQL> set define on
SQL> select '&mydate' from dual;
'20180830'
--------------------------------
20180830
Here你找到更多的东西。