避免在 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 更新查询作为带有一些空值的选择查询