ORACLE SQL查询错误ORA-00913

select * from a where a.order_id in () or a.order_id in () or a.id in () .........

or连接符大约有197个左右吧,查询开始报错,哪位大神求解!
图片说明

向数据库中传递的参数的个数和数据库中相应的字段的数量不一致,值过多,检查一下字段

ORACLE已经报了值过多的错误了,就只能想办法把值减少了,看图片中,你所有需要查询的就是order-id这一个字段,我的想法是,新建一个表b,里面可以就一个列,所有的括号里面的值都在这里面(最好把这列设为主键,防止重复和加快查询速度),以后括号里这些id有变更的话就在这个表里面操作,你原来的查询语句就变成:
select * from a where exists(select * from b where a.order-id=b.id)
短短的一句话,b表里面的数据要快速删除的话,也可以直接truncate