您的位置:首页 > 数据库 > Oracle

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

2017-03-10 19:41 549 查看
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.解语

如果有问题可以帮我指出来噢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐