【发布时间】:2020-10-13 22:48:52
【问题描述】:
我有一个 bash 脚本,它调用 PSQL,它执行一个查询,然后使用 WHILE 循环,我将输出打印到一个文件中。比如:
psql -U zrec -d zrec -t -c "SELECT .........;" \ | while read -a Record; do
printf "${Record[0]},${Record[1]}\n" >> /tmp/file.csv
done
该查询已发展为一个非常大的查询。另外,我现在需要将日期变量传递给查询。所以,我正在考虑采用这个硬编码查询,并将其放入 .sql 文件中,调用它,传递日期变量,然后将输出打印到文件中。
Oracle 通过 SPOOL 和 &1 等使这一切变得简单......
有没有办法:
- 调用 bash 脚本
- 让脚本调用 my_query.sql,并传递一个日期参数
- 将查询输出放入文件中
看起来应该很简单,但事实证明并非如此。
【问题讨论】:
标签: postgresql csv psql