【发布时间】:2017-11-24 03:42:54
【问题描述】:
自从我们公司升级了我们的 Oracle SQL Developer 版本后,我在使用 DBMS_OUTPUT.PUT_LINE 将数据输出到 DBMS_OUTPUT 时发现了一些问题。
我们使用此功能并将其与 Excel 中的文本到列功能相结合,以快速生成报告。但是,我发现自更新以来,文本会随机强制 DBMS_OUTPUT 中的换行符(看似)。这不利于生成报告,因为它依赖于与电子表格模板的完美对齐。
我不确定是什么导致了这个换行符,但为了证明我在下面提供了一个混乱但希望有用的例子。
如果我以 22 次运行以下语句为例:
begin
DBMS_OUTPUT.PUT_LINE('111111111111111111111111111111111111111111111111111111111111111111111111111');
end;
我们希望输出连续 22 次返回 75 个 1。然而,这种情况并非如此。在第 11 行和第 12 行,返回以下内容:
11
1111111111111111111111111111111111111111111111111111111111111111111111111
(上面显示第11行有2个1,第12行有73个)
再次在第 22 和 23 行
111
111111111111111111111111111111111111111111111111111111111111111111111111
(上面在第 11 行显示 3 个 1,在第 12 行显示 72)
如您所见,该行在第 11 行和第 22 行中断。
需要注意的是,所有其他行的格式都正确,只有第 11 行和第 22 行的文本被换行/中断
当然,这不是一个有效的现实世界示例,但我认为这是解释它的最简单方法。
有没有人知道为什么会换行以及如何解决?
【问题讨论】:
-
对我来说很好:imgur.com/a/RTw9W
-
SQL Developer 的哪个版本?我似乎记得在过去看到过这种事情,但无法在 4.2 上复制。
-
您好,版本为 4.2.0.16.260
-
您不觉得通过控制台输出生成的报告是一种自取其辱的方式吗?
-
老实说,这只是我从部门采用的方法。以这种方式的所有数据在更新之前都可以完美输出。
标签: oracle plsql oracle-sqldeveloper dbms-output