我的 bash 脚本中有以下内容。 inputsqls.txt 文件包含 10 个 SQL 语句,需要几个小时才能运行。有没有办法在所有 10 个语句运行之前定期将结果写入 output.txt?即每 30 分钟将执行的所有查询的结果写入文件,或者每次一个查询完成时更新文件,这样您就可以检查 4 个查询结果,而不必等待所有 10 个查询完成。
最终,output.txt 应包含所有 10 个查询的结果。
sqlplus -l <<sqlly > output.txt
USER/PASSWORD@SID
@inputsqls.txt
EXIT
sqlly
注意:将每个文件分解为只有一条语句并不是理想的解决方法。
最佳答案
使用 SQL*Plus spool command在 inputsqls.txt 中。
spool output.txt append
这会在写入时将打印到 stdout 的所有内容附加到 output.txt。
如果启动时output.txt尚不存在,只需删除append
:
spool output.txt
关于sqlplus - 定期将结果写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10460503/