还是正则式,不过有可能是库的问题

ICE-word 2012-09-11 10:39:49
WITH TT AS(SELECT REPLACE(REPLACE(TRIM(COLUMN_VALUE), CHR(13), ''), CHR(10), '') PARAM_NAME
FROM TABLE(F_PUB_BIND_IN(REPLACE('217_成功项目<$>2_联系人电话',
'<$>',
','))) T)
SELECT * FROM TT;
----这句我放在一个库不会报错
WITH TT AS(SELECT REGEXP_SUBSTR(PARAM_NAME, '[0-9]+', 1, 1)PARAM_ID
FROM (SELECT REPLACE(REPLACE(TRIM(COLUMN_VALUE), CHR(13), ''), CHR(10), '') PARAM_NAME
FROM TABLE(F_PUB_BIND_IN(REPLACE('217_成功项目<$>2_联系人电话',
'<$>',
','))) T))
SELECT * FROM TT;
这个却报错了。 报错信息是通信通道的文件结束;

但是报错的这句我放到另外一个库却没报错
...全文
163 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingstarer 2012-09-13
  • 打赏
  • 举报
回复
是不是网络问题?
BenChiM888 2012-09-13
  • 打赏
  • 举报
回复
我勒个去的我的4楼在哪里。。。
哎~

这是数据库版本问题,当初我用 column_value 和 table()的写法,用正则也报你的错误,后来只能改写法。
就是 http://topic.csdn.net/u/20110731/15/09d64fe5-3dfe-4116-8682-10b71f16b26b.html?54772 我1楼的写法, 如果我用正则regexp_substr 就报你的错,但是别人版本高的库就没问题。
cowboyhn 2012-09-13
  • 打赏
  • 举报
回复
检查下alert_<SID>.log日志文件,是否有ORA-00600或者ORA-07445的错误,把错误信息帖出来。
BenChiM888 2012-09-13
  • 打赏
  • 举报
回复
这还要肿么解释,第二种写法触发了oracle该版本的bug呗。
之前我写过的sql 利用 COLUMN_VALUE TABLE() 的别人的数据库木有问题,我的也报这个错误,后来只能换写法。
ICE-word 2012-09-13
  • 打赏
  • 举报
回复
求高手!!
iqlife 2012-09-11
  • 打赏
  • 举报
回复
库版本一样?
正则10g才支持
ICE-word 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
库版本一样?
正则10g才支持
[/Quote]

库的版本是一样的、

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧