我有一个批处理文件,当我运行时调用一个 SQL 文件。此 SQL 文件提示用户输入我存储在 MYPeriod 中的数据(这接受日期作为输入)。SQL 文件的输出是一个 CSV 文件。这是我的 SQL 文件代码:
PROMPT Enter a period
ACCEPT MYPeriod PROMPT 'Period: '
SET LINESIZE 500 FEEDBACK OFF TRIMSPOOL ON TERMOUT OFF HEAD OFF PAGESIZE 0 TERM OFF
spool E:\abc\Test\File1_&MYPeriod.csv
select Account || ',' || Membername || ',' || GROUP || ',' || FUTURE1 from ACTUAL_V@UAT1_Test where Key=21 and period_name= '&MYPeriod' ;
spool off
exit
我的疑问:
当我运行它时,会在位置 E:\abc\Test 生成一个名为 File1_12-2012csv.Lst 的文件。我想要一个 csv 文件。如果我对文件名进行硬编码(通过测试替换 &MYPeriod) File1_Test.csv 会完美生成。为什么代码无法使用用户输入的名称创建文件..?
它的输出创建了一个 csv 文件并从 db 中检索帐户,但它在顶部打印了两行额外的行。新查询和旧查询。如何重新定义我的代码,以便它自动删除。
感谢你们的帮助。