oracle sqlplus 查询大量数据不滚屏输出到文件

    xiaoxiao2021-03-25  104

    1.问题描述

        当我们需要从数据库里查询比较多数据的时候,并且需要将输出保存到文档中,

    这个时候,我们都会想到使用 spool 这个方法。但是问题是,虽然是spool 了,但是如何不在sqlplus 窗口中输出出来呢。

    首先没有必要在命令窗口输出,再者这样也耗费资源,降低了spool的效率

    那么如何解决这个问题呢。

    2. 解决方法

      使用 sql 脚本 +  set termout off

    这里的脚本可不是你写一条查询语句什么的就算是脚本了,这个 脚本 类似 shell 脚本

    我习惯将其 文件后缀设置成  *.sql 的格式。

    set termout 看起语意就是 terminal output 。就是终端输出,关闭它,执行脚本就不滚屏了

    1)

    首先 我先建一个 test.sql

    [oracle@rac1 ~]$ vi /home/oracle/develop/test.sql

    写入内容

    syslect sysdate from dual;

    [oracle@rac1 ~]$ more /home/oracle/develop/test.sql select sysdate from dual;

    2) 连接到数据库

    SQL> show termout termout ON SQL> @/home/oracle/develop/test.sql SYSDATE ---------- 10-3? -17 SQL> set termout off SQL>  @/home/oracle/develop/test.sql SQL>

    当然也可以将 set 写到 sql 文件中。效果应该是一样的,这里我就不做测试了。

    至于常用的 set 命令,这里我就不说了。

    3.解语

    如果有问题可以帮我指出来噢

    转载请注明原文地址: https://ju.6miu.com/read-23941.html

    最新回复(0)