Oracle查询中IN参数超过1000的解决方法
2017-06-29 17:41
671 查看
在查询一个in中超过1000个参数的时候报错了,查找了下,这边总结的解决方法有两种,一种是通过union all,一种是循环将参数写到in中再用or连接语句。方法还有几种但是暂未尝试,先不进行记录。开发中主要用了第二种方法。
第一种,写法上没有个数限制,不过还是需要建个临时表,语句如下:
第二种,通过Where or,将in中的参数控制在1000之内
第一种,写法上没有个数限制,不过还是需要建个临时表,语句如下:
select * from table where id in ( select 1 from dual union all select 2 from dual ……)
第二种,通过Where or,将in中的参数控制在1000之内
if (e.SelectKeyValues.Count > 0) { string whereKey = string.Empty; for (int i = 0; i < e.SelectKeyValues.Count(); i++) { if (i == (e.SelectKeyValues.Count() - 1)) { whereKey += "'" + e.SelectKeyValues[i] + "'"; } else if ((i % 999) == 0 && i > 0) { whereKey += "'" + e.SelectKeyValues[i] + "') or 质量特性编码 in ( "; } else { whereKey += "'" + e.SelectKeyValues[i] + "',"; } } where += " and (质量特性编码 in ( " + whereKey + " ))"; }
相关文章推荐
- oracle的in里面的 参数不能超过1000个,解决方法,拆成 in () or in()
- IN 查询时出现ORA-01795:列表中的最大表达式数为1000解决方法
- 解决oracle查询时 in 大于1000的办法
- 关于oracle查询用in不能超过1000条的解决办法
- sql 查询 in里的个数超过1000 实用方法
- SQL中in参数超过1000的解决办法
- Oracle中IN参数个数超过1000的解决方案
- 关于oracle in后的参数个数超过1000问题
- 关于oracle in后的参数个数超过1000问题
- 解决oracle in 超过1000 报错问题
- oracle数据库查询语句in后面的参数个数超过1000的处理方式
- IN 查询时出现ORA-01795:列表中的最大表达式数为1000解决方法
- oracle 使用IN 不能超过1000问题的解决(oracle中列表中的最大表达式数为 1000)
- oracle中in的个数超过1000的解决办法
- ora-01033:oracle initialization or shutdown in progress 解决方法
- Oracle dbca Exception in thread “main” 解决方法
- Oracle dbca Exception in thread “main” 解决方法
- Oracle dbca Exception in thread “main” 解决方法
- Hibernate createSQLQuery 查询Oracle char类型结果为一个字符解决方法汇总
- oracle错误号大全(查询ora错误号以及解决方法技巧)