问题描述
- ORACLE SQL查询错误ORA-00913
-
select * from a where a.order_id in () or a.order_id in () or a.id in () .........or连接符大约有197个左右吧,查询开始报错,哪位大神求解!
图片说明
解决方案
ORACLE错误(ora查询索引)
SQL 错误: ORA-12910
解决方案二:
向数据库中传递的参数的个数和数据库中相应的字段的数量不一致,值过多,检查一下字段
解决方案三:
ORACLE已经报了值过多的错误了,就只能想办法把值减少了,看图片中,你所有需要查询的就是order-id这一个字段,我的想法是,新建一个表b,里面可以就一个列,所有的括号里面的值都在这里面(最好把这列设为主键,防止重复和加快查询速度),以后括号里这些id有变更的话就在这个表里面操作,你原来的查询语句就变成:
select * from a where exists(select * from b where a.order-id=b.id)
短短的一句话,b表里面的数据要快速删除的话,也可以直接truncate
时间: 2024-10-26 04:39:35