我想知道是否有任何技巧可以使trimspool仅在右侧修剪尾随空白。

我有使用dbms_output.put_line打印到控制台的代码,并且输出中经常有缩进以使其更容易用眼睛进行扫描。我将线宽设置得相当大,以使某些输出更易于阅读,因此,我还设置了trimspool来消除多余的空白。唯一的问题是,现在要删除的前导空格以及尾随空格。有没有办法解决这个问题?我可以在一些输出语句中添加一个前导字符(在前导空格之前)“.”,但是我不允许在大多数软件包中修改代码。

这是没有trimmimg的输出:

1级(EOL)
2级(EOL)
一些数据(EOL)

这是当前使用trimspool输出的内容:

1级(EOL)
2级(EOL)
一些数据(停产)

这就是我想要的:

1级(EOL)
2级(EOL)
一些数据(停产)

最佳答案

我想你在追

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

10-08 17:40