免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9819 | 回复: 4
打印 上一主题 下一主题

奇怪的ora-1722错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-01 09:16 |只看该作者 |倒序浏览
最近我们遇到一个奇怪的问题,
select * from a where a.id in (select b.id from b where b.conf='BBB')
在这个语句中,a.id是一个number型的,b.id是一个varchar2型的,b.id的值是多样的,比如‘123’,‘http’,‘:foo’等,但是当b.conf='BBB'时,b.id是‘123’,按道理此时b.id可以和a.id匹配上,但是oracle居然报ora-1722错误,我们在猜测的情况下,对b表改名b1,再重建b,居然就ok了,现在我们还流着b1表,执行select * from a where a.id in (select b1.id from b1 where b1.conf='BBB')还是报1722错,但是select b1.id from b1 where b1.conf='BBB'的结果是‘123’。

恳请各位大侠帮助。

论坛徽章:
0
2 [报告]
发表于 2005-09-01 09:58 |只看该作者

奇怪的ora-1722错误

贴出执行计划看看!

论坛徽章:
0
3 [报告]
发表于 2005-09-01 10:25 |只看该作者

奇怪的ora-1722错误

执行计划是先执行select b1.id from b1 where b1.conf='BBB'

论坛徽章:
0
4 [报告]
发表于 2005-09-01 10:28 |只看该作者

奇怪的ora-1722错误

重建的b和原来的b的列的数据类型一样吗?

论坛徽章:
0
5 [报告]
发表于 2005-09-01 11:09 |只看该作者

奇怪的ora-1722错误

set autotrace on然后贴出来看看!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP