【问题标题】:Rows returned in blocks on SQLPlus (oracle client)在 SQLPlus(oracle 客户端)上以块形式返回的行
【发布时间】:2019-10-09 00:44:20
【问题描述】:

以下查询在 Oracle SQL Developer 中使用时可以正常工作:

SET ECHO OFF
SET FEEDBACK OFF
SET LINES 1000
SET LINESIZE 150

COLUMN URL FORMAT a54

SELECT DISTINCT RPAD (ROUTE.URL, 54) URL
FROM ROUTE
ORDER BY URL ASC;

但在我的 SQLPlus 中发出时,由于某种原因,结果行被分成 11 行块:

URL
-------
url-1
url-2
url-3
...
url-11

URL
-------
url-12
url-13
url-14
...
url-22

etc..

为什么会这样?怎样才能一次出结果?

我使用 SQLPlus 11.2.0.3.0

【问题讨论】:

    标签: oracle oracle11g sqlplus


    【解决方案1】:

    您已经在使用set linesize - 事实上,您两次将其设置为 1000,然后立即减少到 150:

    SET LINES 1000
    SET LINESIZE 150
    

    我怀疑您可能期望第一个设置是行数,而不是每行的长度,但它们是相同的设置 - 只是一个缩短版本。

    要设置每个块或页面中的行数,请改用稍微相关的set pagesize,例如:

    SET PAGESIZE 1000
    SET LINESIZE 150
    

    默认值为 14,这意味着您将获得 11 行数据,加上标题行、下划线的行以及页面之间的空白行。

    如果您将pagesize 设置为零,那么所有结果都将在一个“页面”中,无论您有多少行输出;但这也会抑制列标题。

    Read more about setting page dimensions.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-27
      • 2014-11-15
      • 2021-10-21
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 2015-04-30
      相关资源
      最近更新 更多