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的图片,当图片数量较多需要滑动滚动时会出现卡顿,而且加载过的图片再次上翻后依然会重复加载(显示设置好的加载中图片) 最近在使 ...
随机推荐
- HDU 6325 Problem G. Interstellar Travel(凸包)
题意: 给你n个点,第一个点一定是(0,0),最后一个点纵坐标yn一定是0,中间的点的横坐标一定都是在(0,xn)之间的 然后从第一个点开始飞行,每次飞到下一个点j,你花费的价值就是xi*yj-xj* ...
- vue2.0小小记录
1.关于路由跳转方法:push this.$router.push({name:'master',params:{id:'参数'}}); //name和params搭配,刷新的话,参数会消失 this ...
- XAML 绑定和结构体不得不说的问题
遇见一个问题 如果用一个结构体struct.再用一个ListView,然后使用绑定. <Window x:Class="WpfApp1.MainWindow" xmlns=& ...
- nginx(二)-反向代理
什么是反向代理? 我们看图说话,我们用电脑访问谷歌,由于防火墙的存在,我们并不能直接访问.需要借助VPN来实现.这就是一个简单的正向代理的例子.这里你能够发现,正向代理“代理”的是客户端,而且客户端是 ...
- [转] 用Python建立最简单的web服务器
[From] http://www.cnblogs.com/xuxn/archive/2011/02/14/build-simple-web-server-with-python.html 利用Pyt ...
- Python爬虫常用之PyQuery
PyQuery是解析页面常用的库.是python对jquery的封装.下面是一份解析基本页面的代码.后期用到复杂或者实用的方式再增加. from pyquery import PyQuery as p ...
- bugzilla部署问题
2018-09-25 1.部署环境 kvm虚拟机内 centos 7 系统 httpd+mariadb+bugzilla 关闭系统selinux.防火墙 setenforce 临时关闭se ...
- Thinkphp2.1漏洞利用
thinkphp2.1版本 Google语法: inurl:index.php intext:ThinkPHP 2.1 { Fast & Simple OOP PHP Framework } ...
- Jquery EasyUI Treegrid按需加载子集
项目说明,要一个有权限并且按需加载的树形列表. jeasyui网址 CSS <!--添加树状控件--> <link rel="stylesheet" type=& ...
- HDFS基本shell操作
在客户端输入Hadoop fs,可以查看所有的,hadoop shell # -help [cmd] //显示命令的帮助信息,如: hadoop fs -help ls # -ls(r) <pa ...