避免在 PL/SQL 命令行上的选择结果之间出现空行

Posted

技术标签:

【中文标题】避免在 PL/SQL 命令行上的选择结果之间出现空行【英文标题】:Avoid empty lines between a select result on PL/SQL command line 【发布时间】:2014-04-23 13:08:01 【问题描述】:

好吧,这很奇怪,但大多数都有一些原因......

当我执行正常选择时:

SELECT * FROM footable foo;

在 10g Oracle 上的 allroundautomations 10.0.2.1697 的 PS/SQL 命令行上,它会导致预期的行,但在它们之间放置了一些空行,如下所示:

FOO_COD_ID         FOO_IDT_TYPE         FOO_VALUE
<previous lines>
.......689....................1...............'0'
.................................................
.................................................
.................................................
................<empty lines>....................
.................................................
.................................................
.................................................
.................................................
.......690....................1...............'0'
.......691....................1...............'0'
.......692....................1...............'0'
<et cetera>

执行 PL/SQL 时通知:476 row selected in x seconds 并且那些空行放在结果之间,但总是在同一位置,在 FOO_COD_ID 689 和 690 之间。

SQL 窗口上的 SAME select 不会以结果之间的空行结束,并且还会显示相同的消息 476 row selected in x seconds,即那些空行不计入,但为什么会这样以及如何避免。

【问题讨论】:

也许您的列值之一包含回车/换行字符。 PL/SQL 是一种编程语言。那么“在 PS/SQL 命令行上”到底是什么意思?您是指来自SQL*Plus 的命令行吗? “在 SQL 窗口上”和“PL/SQL 通知”是什么意思? @a_horse_with_no_name 我认为他在谈论 PL/SQL Developer,以及类似于 Toad 的 IDE,来自一家名为 all around automations 的公司。 正是@tbone。 “长度为 15 个字符的无聊规则。这是你的字符” @GordonLinoff 非常好,这就是原因!我看起来像 hexa char 值并被捕获。想把它作为回应? 【参考方案1】:

感谢Gordon Linoff 的评论我发现这些空行是由特定varchar 字段中的一些换行符/提要引起的。

【讨论】:

以上是关于避免在 PL/SQL 命令行上的选择结果之间出现空行的主要内容,如果未能解决你的问题,请参考以下文章

在 windows 的命令行上创建一个空文件(如 linux touch 命令)

ORA-06502: PL/SQL: 在空游标的情况下出现数字或值错误

带有 where 条件的 PL/SQL 更新查询作为带有一些空值的选择查询

如何在Docker命令行上的Docker注册表中找到具有特定标记的Docker镜像?

Oracle PL/SQL 在原始选择和分层选择之间切换

PL SQL 过程中的“假脱机”命令问题