IN 查询时出现ORA-01795:列表中的最大表达式数为1000解决方法
问题描写叙述:
SQL进行IN查询时出现:java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000
解决的方法:
问题原因是:SQL进行IN查询时。IN中的数据量不能超过1000条。
比如:select * from student where id in (‘S1’,'S2'...........)
假设in后面数据量过多的话就会报错。
解决方法是:用 orkeyword
如:select * from student where id in(’S1‘,'S2',...........'S900')or id in ('S901',..........)
将list转化为String 得到例如以下字符串: id in(’S1‘,'S2',...........'S900')or id in ('S901',..........)
private static String getString(String id,List<String> list){
StringBuffer sb=new StringBuffer();
String returnString="";
if(list.size()==0||null==list){
returnString=sb.append(id).append("=''").toString();
}
for(int i=0;i<list.size();i++){
if(i==0){
sb.append(id);
sb.append(" in (");
}
sb.append("'");
sb.append(list.get(i).toString());
sb.append("'");
if(i>=900&&i<list.size()-1){
if(i%900==0){
sb.append(") or ");
sb.append(id);
sb.append(" in (");
}else{
sb.append(",");
}
}else{
if(i<list.size()-1){
sb.append(",");
}
}
if(i==list.size()-1){
sb.append(")");
}
}
returnString=sb.toString();
return returnString;
}
IN 查询时出现ORA-01795:列表中的最大表达式数为1000解决方法的更多相关文章
- java jdbc oracle ORA-01795: 列表中的最大表达式数为 1000
在操作SQL中存在In的数量如果超过1000条会提示 ORA-01795: 列表中的最大表达式数为 1000 归纳有几种方式出现的: 第一种是:我在上一个 [jdbc 同时执行 查询和删除操]作中 ...
- Sql语句报ORA-01795: 列表中的最大表达式数为 1000
错误信息:java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000,错误信息如下: serviceid是:work -------------other W ...
- java.sql.SQLSyntaxErrorException: ORA-01795: 列表中的最大表达式数为 1000
后台报了一些异常日志,查阅后发现在 oracle 数据库中使用 in 关键字条件不能超过 1000 个,当时写查询语句时没有关注这个问题 总结一下解决方法 1.分多次查询,对查询要求不高的话.把入参的 ...
- ORA-01795: 列表中的最大表达式数为 1000
系统报出一SQL异常,内容如下: java.sql.SQLException: ORA-01795: maximum number of expressions in a list is 1000 找 ...
- ORA-01795: 列表中的最大表达式数为1000的解决方法
IN中的数据量不能超过1000条. 解决方案:把条件分成多个少于1000的IN即: DELETEFROMT_MM_SECTION_SITE_UPDATEWHERE T.T_MM_SECTION_SL_ ...
- 对ORA-01795: 列表中的最大表达式数为 1000的处理(算法:计算数量及切割)
/** * @category * 原:strIDs in ( 100001,100002,100003,....................,110001,120001,130001,1400 ...
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式.比如 select * from T_Employee where FNumber not in ( select top 5* ...
- SPSS提示“列表中不同意存在字符串变量”的解决方法
今天用SPSS对一些数据进行主成分分析,SPSS 19.0进行主成分分析的方法是:分析--降维--因子分析,可是当导入一些变量的时候.就会弹出窗体说"列表中不同意存在字符串变量", ...
- ES 查询时 排序报错(fielddata is disabled on text fileds by default ... )解决方法
背景:elasticsearch 进行排序的时候,可能会排序数字.日期.但是在排序text类型的时候就会出现上述错误 原因(参考): https://blog.csdn.net/wild46cat/a ...
随机推荐
- 随笔idea-辗转落户cnblogs
辗转了几个blog,也用了自己域名2年,感觉忙起来,可能没有那么多时间去维护自己的域: 其他地方的blog也不在一块,思虑许久后,来到cnblogs:
- hdu 5305 Friends(2015多校第二场第6题)记忆化搜索
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5305 题意:给你n个人,m条关系,关系可以是online也可以是offline,让你求在保证所有人on ...
- web文件上传组件比较jQuery File Upload和Fine Uploader
jQuery File Upload: https://blueimp.github.io/jQuery-File-Upload/ Fine Uploader: http://fineuploader ...
- Codeforces Round #257 (Div. 2) A. Jzzhu and Children
A. Jzzhu and Children time limit per test 1 second memory limit per test 256 megabytes input standar ...
- windows下python2.7.14版本的安装
本文主要对window下如何安装Python进行图解说明 步骤一.从官网下载相应的版本(本文以2.7.14为例),https://www.python.org/downloads/release/py ...
- java中write(byte[] b)与write(byte[] b,int off,int len)区别
public static void copyInputStreamT0OutputStream(InputStream in, OutputStream out) { byte[] buffer = ...
- IntelliJ IDEA代码分屏显示
- Scramble String -- LeetCode
原题链接: http://oj.leetcode.com/problems/scramble-string/ 这道题看起来是比較复杂的,假设用brute force,每次做分割,然后递归求解,是一个 ...
- MVC使用JCrop上传、裁剪图片
JCrop用来裁剪图片,本篇想体验的是: 在视图页上传图片: 上传成功,跳转到另外一个编辑视图页,使用JCrop对该图片裁剪,并保存图片到指定文件夹: 裁剪成功后,在主视图页显示裁剪图片: 当然,实际 ...
- Extjs文件选择器
Ext.hoo.component.FileBrowserComponent.js /** * Ext.hoo.component.FileBrowserWindow 系统文件浏览选择组件,可以选定电 ...