ORA-01795: 列表中的最大表达式数为1000的解决方法
IN中的数据量不能超过1000条。
解决方案:把条件分成多个少于1000的IN即:
DELETE
FROM
T_MM_SECTION_SITE_UPDATE
WHERE T.T_MM_SECTION_SL_ID IN ('1', '2', '3',...,'1000') OR IN ('1001', '1002', ..., '2000') OR ...
String str = this.GetWhereInValuesSql("T_MM_SECTION_SL_ID",Idlist,800);
/**
* 获取where in语句
*
* @param column 字段名
* @param values 值集合
* @param num 数量
* @return where in语句
*/
@SuppressWarnings("unused")
String GetWhereInValuesSql(String column, List<String> values,int num) {
// sql语句
String sql = "(";
// 值的个数
int valueSize = values.size();
// 批次数
int batchSize = valueSize / num + (valueSize % num == 0 ? 0 : 1);
for (int i = 0; i < batchSize; i++) {
if (i > 0) {
sql += ") or ";
}
sql += column+" in (";
for (int j = i * num; ( j < (i + 1) * num) && j < valueSize; j++) {
if (j > i * num) {
sql += ",";
}
sql += "'" + values.get(j) + "'";
}
}
sql += "))";
return sql;
}
mmSectionOrderQueryDao.deleteBatchQuery(str);
//批量删除(查询表)
void deleteBatchQuery(@Param("str")String str);
<!--批量删除查询表-->
<delete id="deleteBatchQuery" parameterType="java.lang.String">
DELETE
FROM
T_MM_SECTION_SITE_UPDATE
WHERE
1=1
<if test="str != null">
AND ${str}
</if>
</delete>
ORA-01795: 列表中的最大表达式数为1000的解决方法的更多相关文章
- Sql语句报ORA-01795: 列表中的最大表达式数为 1000
错误信息:java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000,错误信息如下: serviceid是:work -------------other W ...
- IN 查询时出现ORA-01795:列表中的最大表达式数为1000解决方法
问题描写叙述: SQL进行IN查询时出现:java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000 解决的方法: 问题原因是:SQL进行IN查询时.IN中的 ...
- java jdbc oracle ORA-01795: 列表中的最大表达式数为 1000
在操作SQL中存在In的数量如果超过1000条会提示 ORA-01795: 列表中的最大表达式数为 1000 归纳有几种方式出现的: 第一种是:我在上一个 [jdbc 同时执行 查询和删除操]作中 ...
- ORA-01795: 列表中的最大表达式数为 1000
系统报出一SQL异常,内容如下: java.sql.SQLException: ORA-01795: maximum number of expressions in a list is 1000 找 ...
- java.sql.SQLSyntaxErrorException: ORA-01795: 列表中的最大表达式数为 1000
后台报了一些异常日志,查阅后发现在 oracle 数据库中使用 in 关键字条件不能超过 1000 个,当时写查询语句时没有关注这个问题 总结一下解决方法 1.分多次查询,对查询要求不高的话.把入参的 ...
- 对ORA-01795: 列表中的最大表达式数为 1000的处理(算法:计算数量及切割)
/** * @category * 原:strIDs in ( 100001,100002,100003,....................,110001,120001,130001,1400 ...
- 检索 COM 类工厂中 CLSID 为 {10020200-E260-11CF-AE68-00AA004A34D5} 的组件时失败,解决方法如下:
检索 COM 类工厂中 CLSID 为 {10020200-E260-11CF-AE68-00AA004A34D5} 的组件时失败,解决方法如下: 第 一步:首先将msvcr71.dll, SQLD ...
- log4j中Spring控制台输出Debug级信息过多解决方法
log4j中Spring控制台输出Debug级信息过多解决方法 >>>>>>>>>>>>>>>>> ...
- universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法
在listview/gridview中使用UIL来display每个item的图片,当图片数量较多需要滑动滚动时会出现卡顿,而且加载过的图片再次上翻后依然会重复加载(显示设置好的加载中图片) 最近在使 ...
随机推荐
- vue项目用webpack打包后跨域问题
在app.js的最开始加上 app.all('*', (req, res, next) => { res.header("Access-Control-Allow-Origin&quo ...
- no git binary found in $path(已解决,但是还有疑问)
跟同行研究个项目代码,他把代码打包发我后,我解压到本地,路径和我本地个人项目路径基本相同, 但是当执行npm install时,就报了 no git binary found in $path ,这个 ...
- POJ - 1061 扩展gcd
题意:求\((n-m)t+Lk=x-y\)的解\(t\) #include<iostream> #include<algorithm> #include<cstdio&g ...
- CentOS7下php安装mcrypt扩展
https://blog.csdn.net/skykingf/article/details/40185405 以下步骤均为本人实际操作,可能与你的安装方法有所区别,但我会尽量排除疑惑) 大致步骤(1 ...
- PHP二次开发
一.CMS类 如:phpcms.dedecms.empirecms.wordprss drupal joomla 二.shop类 如:ecshop eschopx shopnc emall mag ...
- [转] 使用Gson进行json数据转换list to json 和json to list
[From] https://blog.csdn.net/god2030/article/details/51140450 经过比较,gson和其他现有java json类库最大的不同时gson需要序 ...
- Python基础 (上)
参考:菜鸟教程 Python用途 目录 一.数据类型 二.运算符 三.条件和循环控制语句 四.函数 五.模块 六.输入与输出 一.数据类型 string.list和tuple都属于sequenc ...
- Python中将列表转化成矩阵表示
list1 = [] a = [1,3,4] b = [2,5,6] list1.append(a) list1.append(b) arr = np.array(list1) # 打印arr pri ...
- 牛客网Java刷题知识点之HashMap的实现原理、HashMap的存储结构、HashMap在JDK1.6、JDK1.7、JDK1.8之间的差异以及带来的性能影响
不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 ...
- 在使用反射时,maven设置依赖范围引起的异常
背景是,运用annotation进行权限控制,将一个包下面的类.进行反射,然后判断类的annotation,根据annotation设置权限 问题来了,包下面有5个类,在反射时报了 javqx.ser ...