Подтвердить что ты не робот

Как увеличить длину вывода столбца sqlplus?

У меня есть несколько запросов, чтобы узнать ddl некоторых объектов из схемы. Я получаю столбец результатов, усеченный посредине запросов.

Как я могу увеличить число столбцов?

Я пробовал с помощью

SET SERVEROUTPUT ON SIZE 1000000;
SET LINESIZE 50000;
set pagesize 50000;
set long 50000;

Но, все еще получая тот же результат.

Любая помощь действительно.

Спасибо

4b9b3361

Ответ 1

Я только что использовал следующую команду:

SET LIN[ESIZE] 200

(из http://ss64.com/ora/syntax-sqlplus-set.html).

Это отлично работает, но вы должны убедиться, что ваше консольное окно достаточно велико. Если вы используете SQL Plus напрямую из командной строки MS Windows, консольное окно автоматически обертывает строку независимо от свойства "Ширина буфера экрана", независимо от любой спецификации SQL Plus LINESIZE.

Как было предложено @simplyharsh, вы также можете настроить отдельные столбцы для отображения ширины набора, используя COLUMN col_name FORMAT Ax (где x - желаемая длина, в символах) - это полезно, если у вас есть один или два дополнительных больших столбца, и вы просто хочу показать сводку своих значений на экране консоли.

Ответ 2

Эта конфигурация работает для меня:

set termout off
set verify off
set trimspool on
set linesize 200
set longchunksize 200000
set long 200000
set pages 0
column txt format a120

Определение формата column с опцией linesize помогло избежать усечения на 80 символов.

Ответ 3

Попробуйте это

COLUMN col_name FORMAT A24

где 24 - ширина.

Ответ 4

В linux попробуйте эти.

  • установить обертку
  • установить trimout ON
  • установить trimspool on
  • установить serveroutput на
  • set pagesize 0
  • set long 20000000
  • set longchunksize 20000000
  • set linesize 4000

Ответ 5

Помимо установки LINESIZE, как предложил LordScree, вы также можете указать вывод в файл, чтобы преодолеть проблему с помощью ширины консоли. Вот как я это делаю:

set linesize 15000;
spool myoutput.txt;
SELECT 
...
spool off;

Ответ 6

Собственно, даже это не помогло мне. Когда я выполнил "select dbms_metadata.get_ddl (" TABLESPACE "," TABLESPACE_NAME ") из двойника; Я снова получил только первые три строки, но на этот раз каждая строка была заполнена до 15 000 символов. Мне удалось обойти это:

select substr(dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA'),80) from dual;
select substr(dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA'),160) from dual;
select substr(dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA'),240) from dual;

Казалось, что должен быть более простой способ, но я не мог найти его.

Ответ 7

Что я использую:

set long 50000
set linesize 130

col x format a80 word_wrapped;
select dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA') x from dual;

Или я что-то упускаю?

Ответ 8

В Windows вы можете попробовать следующее:

  • щелкните правой кнопкой мыши в окне sqlplus
  • выберите свойства → макет
  • увеличить размер буфера экрана до 1000