sqlplus - 定期将结果写入文件

标签 sql linux oracle bash sqlplus

我的 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/

相关文章:

MySQL 独立的用户用于读、写和管理

mysql - 在 MYSQL 中显示没有数据类型的列名

php - 在 Linux 上安装哪个 Eclipse 版本以进行 PHP 开发

sql - Azure 虚拟机数据库

sql - []和 ' '之间的SQL Server有什么区别

linux - 如何根据另一个 zip 的内容创建子 zip?

c - vim 编辑器是否有任何实用程序/插件可以添加评论/标题?

java - JPA、Hibernate 和 Oracle 函数索引

oracle - pl/sql 嵌套循环

oracle - 从 oracle PL/SQL 查看变量的值