我尝试使用参数更改脚本以将输出假脱机到特定路径。在搜索Stack Overflow之后,我想出了:
column filename new_val filename
select '"i:\Direct bank\incoming\ROSE\report_zgod_' || '^1' ||'.csv"' filename from dual;
spool &filename
这会创建正确的文件名" i:\ Direct bank \ incoming \ ROSE \ report_zgod_2017-08-28.csv" (我试图用字面意思而不是& filename并且文件已经创建),但它仍然没有写入文件。我的猜测是,因为路径中有一个空间。
我也试过
spool "&filename"
spool '&filename'
但无济于事。
我无法避免参数(它在脚本中的其他位置使用过,而且它无法真正从SYSDATE计算出来)而且我无法改变路径(它必须在某个地方"我:\直接银行")。
如何在假脱机文件的名称中同时包含参数和空格?
答案 0 :(得分:0)
好的,我在https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:3581757800346555562的评论中找到了答案。
原始脚本的作者更改了默认值,因此我必须使用
spool ^filename
而不是
spool &filename
如果您遇到类似问题,原始代码包含:
set define "^"
set sqlprefix "^"
这就是我无法创建文件的原因。