我们对SYS_CONNECT_BY_PATH
提出了很多疑问,直到现在一直运行良好。现在我们的行为非常奇怪。
它分解为:
SYS_CONNECT_BY_PATH(title, ' > ')
--
Java::JavaSql::SQLException: ORA-30004: when using
SYS_CONNECT_BY_PATH function, cannot have separator as part of column value
现在奇怪的是,它只发生在某些元素上,与其他元素没有任何不同。
是的,数据中没有' > '
,整个数据中甚至没有>
。
现在奇怪的部分。删除起始空格后,查询将立即生效:
SYS_CONNECT_BY_PATH(title, '> ') // works
每个分隔符字符串都是如此:
SYS_CONNECT_BY_PATH(title, ' asdsahjkwer!!!+*+::+:+*+_A_A:X"I') //fails
SYS_CONNECT_BY_PATH(title, 'asdsahjkwer!!!+*+::+:+*+_A_A:X"I') //works
这对我来说闻起来像个臭虫,你有过类似行为的经历吗?有一个很好的解决方法吗?
确切的db版本是:
Oracle Database 12c企业版12.1.0.2.0版 - 64位