`
Eric.Yan
  • 浏览: 318526 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle in 超过1000怎么办

阅读更多

也是用到了才知道,oracle in表达式参数支持最大上限1000个,是个头疼的问题,

解决思路:拆分成多个in表达式,每个表达式中参数不超过1000,网上有很多解决的实现方法可以参考,有些看不大懂,就自己写了一个,分享下:

 

private String getSubQuery(String riskIds){
		StringBuffer subQ = new StringBuffer();
		subQ.append("(");
		if(!"".equals(riskIds) && null != riskIds){
			String[] riskIDs = riskIds.split(", ");
			if(riskIDs.length>1000){
				for(int i=0;i<riskIDs.length;i++){
					if((i+1)%1000 == 0){
						String temp = subQ.substring(0, subQ.length()-1);
						subQ.delete(0, subQ.length());
						subQ.append(temp);
						subQ.append(") or cc.cntlKORInfo.korEntityId in (");
						subQ.append(riskIDs[i]+",");
					}else{
						subQ.append(riskIDs[i]+",");
					}
				}
				String temp = subQ.substring(0, subQ.length()-1);
				subQ.delete(0, subQ.length());
				subQ.append(temp);
				subQ.append(")");
			}else{
				subQ.append(riskIds);
				subQ.append(")");
			}
		}else{
			subQ.append(")");
		}
		
		return subQ.toString();
	}

 

传入参数是一个"1,2,3,4"形式的string,分隔符",";

其他的实现方法可以参考下:

http://www.blogjava.net/hoojo/archive/2012/08/31/386692.html

http://www.cnblogs.com/ttc/archive/2008/07/21/1247790.htm

 

 

 

分享到:
评论

相关推荐

    Oracle查询处理in条件超过1000条

    Oracle查询处理in条件超过1000条的2种后台处理方式:A,后台拼接查询条件;B,每1000条查询一次,最后返回查询结果;

    Oracle SQL in 超过1000的解决方案list

    oracle中如果非要用in作为条件的话,超过1000条可以用col in() or col in()的方式来处理

    [数据库]处理 Oracle SQL in 超过1000 的解决方案.txt

    [数据库]处理 Oracle SQL in 超过1000 的解决方案.txt

    oracle sql in 连接大于1000报错解决办法

    oracle sq 使用l in 连接大于1000情况下报错解决办法。

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle&gt;svrmgrl SVRMGR&gt;connect internal SVRMGR&gt;startup ...

    ORACLE9i_优化设计与系统调整

    §3.2.8 当参数指定错误时怎么办? 70 §3.3 参数内容说明 70 §3.4 DBA常用参数说明 71 §3.4.1 跟踪文件路径(BACKGROUND_DUMP_DEST) 71 §3.4.2 在缓冲区驻留对象(BUFFER_POOL_KEEP) 71 §3.4.3 版本兼容...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    oracle动态性能表

    完全调用一次不超过10ms  db block changes:那部分造成SGA中数据块变化的insert,update或delete操作数 这项统计可以大概看出整体数据库状态。在各项事务级别,这项统计指出脏缓存比率。  execute count:执行的...

    Oracle数据库使用及命名规则的详解

    二、 注释说明  1. 本注释说明主要用于PL/SQL程序及其它SQL文件,其它可作参考;  2.... ―― 这儿是注释  /* 这儿是注释 */  REM 这儿是注释  3.... REM $Header: ...• 一行最长不能超过80字符

    oracle数据库经典题目

    1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。 2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。 3.在需要滤除查询结果中重复的行时,必须...

    Oracle9i的init.ora参数中文说明

    值范围: 任何有效的日期格式掩码, 但不得超过一个固定长度。 默认值: 派生 nls_timestamp_tz_format: 说明: 与 NLS_TIME_TZ_FORMAT 相似, 其中的一对值指定 TIMESTAMP 数据类型的默认值, 该类型除存储 YEAR, MONTH...

    oracle详解

    可以在导出日志中观察到: exp-00067: table xxx will be exported in conventional path 如果没有使用直接路径,必须保证buffer参数的值足够大. 有一些参数于direct=y不兼容,无法用直接路径导出可移动的tablespace,...

    Oracle DBA的UNIX袖珍参考手册之服务器监控

    5121 oracle 42 0 435M 15M sleep 0:01 0.60% oracle 717 root 44 0 10M 4358K sleep 13:43 0.30% Xdec 5120 root 44 0 5832K 3203K run 0:00 0.10% top 558 root 44 0 3640K 180K sleep 34:13 0.00% os_mibs ...

    MYSQL_MSS_ORACLE函数

    POSITION(substr IN str) 返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0. mysql&gt; select LOCATE('bar', 'foobarbar'); -&gt; 4 mysql&gt; select LOCATE('xbar', 'foobar'); -&gt; 0该...

    MYSSQL_MSS_ORACLE经典SQL.pdf

    where S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where ...

    自动给数据库数据加单引号

    因为oracle每次in()数据不能超过1000行,但是每个数据都要接单引号,所以写了这个程序,使用方法:复制多行数据,然后双击程序,会自动把数据加上单引号更新粘贴板,粘贴到in()中去就可以了。

    FME产品分为三个层次: 一、入门级 1、特点:支持常见的GIS软件的数据交换,如MapInfo TAB, DGN, DXF,

    FME产品分为三个层次: 一、入门级 1、特点:支持常见的GIS软件的数据交换,如MapInfo TAB, DGN, DXF, DWG, SDTS, SHP, and TIGER;可以运行大部分函数(Funtion和Factory);...4)FME Oracle Suite:在FME ESRI S

    SWT-JFace-in-Action.doc

    在2004年三月,Java开发者年度大会宣布了由其读者选择的最佳Java组件年度奖结果,超过15,000位开发者投票选举诸多Java工具套件(当然包括不少声名显赫的供应商如Oracle和Apple等)之一。但最终,Eclipse的标准小部件...

    SWT JFace in Action 中文版

    在 2004 年三月,Java 开发者年度大会宣布了由其读者选择的最佳Java 组件年度奖结果,超过15,000 位开发者投票选举诸多Java 工具套件(当然包括不少声名显赫的供应商如Oracle 和Apple 等)之一。但最终,Eclipse 的...

    2013年中国数据库大会-29-Developer and DBA Guide to Whats New in MySQL 5.6

    自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB、ChinaUnix技术社区已经连续举办了三届数据库技术大会,每届大会超过千人规模,云集了国内技术水平最高的数据架构师、DBA、数据库开发工程师、研发总监、IT...

Global site tag (gtag.js) - Google Analytics