我正在尝试编写将使用SELECT查询并将记录假脱机到csv报告文件中的shell脚本。该脚本将通过cron进行安排,并取决于日期,它将每天,每周和每半年生成一次报告。
我们正在使用Oracle数据库sqlplus。原谅我,因为我的耳朵有点湿。
我的计划是将变量分配给SELECT的WHERE子句。一个是sysdate,另一个是目标(返回的天数),并使用这些日期变量在SELECT查询本身中设置日期范围。
现在
我在sql脚本中有SELECT,它将用于将日常任务(-1)的结果缓冲到csv文件中。但是,问题是,我应该在一个脚本中为所有三个报告进行报告,因此我认为这条路线不会起作用。我最初的计划是仅调用并执行此sql脚本以创建csv文件,然后将该文件mv将此文件存储到正确的目录(因为每天/每周/每半年有3个目录) 脚本中的if / fi日期比较。
sqlScript.sql
选择 ... 从 ... 哪里 ... 和trunc(statusTimeStamp)> = trunc(sysdate-1); <---这是每日报告
script.sh
... sqlplus启动sqlScript.sql ... 写入日志
这是我如何设置sh脚本和sql文件的摘要。