2011-01-21 2 views
6

Мне интересно, есть ли какие-либо трюки, чтобы получить trimspool, чтобы обрезать только пробелы справа.Oracle trimspool только завершающие пробелы (не ведущие пробелы)

У меня есть код, который использует dbms_output.put_line для печати на консоль, а на выходе часто есть отступы, чтобы облегчить сканирование глазами. Я установил ширину линии довольно большой, чтобы сделать часть вывода более легкой для чтения, поэтому я также установил trimspool, чтобы избавиться от лишнего пробела. Единственная проблема заключается в том, что теперь ведущее пространство удаляется так же, как и конечные пробелы. Есть ли способ исправить это? Я мог бы добавить ведущий (перед ведущим пробелом) символ «.» для некоторых операторов вывода, но мне не разрешено изменять код в большинстве пакетов.


Вот что он выдает, не trimmimg:

 
level 1       (EOL) 
    level 2      (EOL) 
     Some data     (EOL) 

Вот что он в настоящее время выходы с trimspool на:

 
level 1(EOL) 
level 2(EOL) 
Some data(EOL) 

Вот что я хочу:

 
level 1(EOL) 
    level 2(EOL) 
     Some data(EOL) 
+2

+1, обработка выходных данных в SQL * Plus - источник постоянной путаницы для меня. – DCookie

ответ

8

Я думаю, ты в корме er

set serveroutput on size 100000 format wrapped 

если все понятно ваш вопрос.

Если я это сделать:

set serveroutput on size 1000000 

begin 
    dbms_output.put_line('no indent'); 
    dbms_output.put_line(' indent'); 
end; 
/

SQL * Plus выходы:

no indent 
indent 

Если, однако, я

set serveroutput on size 1000000 format truncated 

begin 
    dbms_output.put_line('no indent'); 
    dbms_output.put_line(' indent'); 
end; 
/

SQL * Plus выходы:

no indent 
    indent 

Необходимо удалить set trimspool on, чтобы устранить пробелы до eol.

+0

'set serveroutput размером 100000, завернутый форматом ', восстанавливает пробел слева, но теперь есть много пробелов справа (размер файла теперь почти удваивается). 'set serveroutput размером 1000000 усеченных' обрезает некоторые выходные строки (не очень хорошо). – FrustratedWithFormsDesigner

+0

Он работает со мной, если я также установил 'trimspool on'. –

+2

yup, волшебная комбинация, похоже, 'set serveroutput размером 100000, завернутый'' с' set trimspool on'. Благодаря! – FrustratedWithFormsDesigner

Смежные вопросы