следующий запрос отлично работает при использовании в 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
Вы уже используете set linesize
— на самом деле дважды вы устанавливаете его на 1000, а затем сразу же уменьшаете до 150:
SET LINES 1000
SET LINESIZE 150
Я подозреваю, что вы, возможно, ожидали, что первой настройкой будет количество строк, а не длина каждой строки, но это одна и та же настройка — одна — просто укороченная версия.
Чтобы установить количество строк в каждом блоке или странице, используйте вместо этого слегка связанный set pagesize
, например:
SET PAGESIZE 1000
SET LINESIZE 150
Значение по умолчанию — 14, что означает, что вы получаете 11 строк данных, плюс строку заголовка, строку под ней с дефисами и пустую строку между страницами.
Если вы установите pagesize
на ноль, то все результаты будут на одной «странице», сколько бы строк вывода у вас ни было; но это также подавляет заголовки столбцов.