`
aty
  • 浏览: 36515 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java支持ORACLE的in不能超过1000

阅读更多

Oracle的in语句,不能超过1000个值,否则会报sql出错。

public String splitInCondition(List<String> dataList, String columnName, String type)
    {

        String relation = null;
        if ("in".equalsIgnoreCase(type))
        {
            relation = " OR ";
        }
        else
        {
            relation = " AND ";
        }

        // 需要返回的sql的in子语句
        StringBuilder sqlBuilder = new StringBuilder("(" + columnName + " " + type + " (");

        // 列表长度
        int dataSize = dataList.size();

        int count = 0;

        while (count < dataSize)
        {
            if ((count + 1) % 1000 == 0)
            {
                sqlBuilder.deleteCharAt(sqlBuilder.lastIndexOf(","));

                sqlBuilder.append(") " + relation + " " + columnName + " " + type + " (");
            }

            sqlBuilder.append('\'');
            sqlBuilder.append(dataList.get(count));
            sqlBuilder.append('\'');
            sqlBuilder.append(',');
            count++;
        }

        // 删除最后一个,
        sqlBuilder.deleteCharAt(sqlBuilder.lastIndexOf(","));

        // 添加右括号
        sqlBuilder.append(')');
        sqlBuilder.append(')');

        return sqlBuilder.toString();
    }

 

分享到:
评论

相关推荐

    oracle+ora-各种常见java.sq

    - `java.sql.SQLException: ORA-01555: snapshot too old: rollback segment number with name "" too small`: 回滚段不足以支持事务回滚。可能需要增大回滚段大小或者优化事务处理。 11. **内存问题** - `java....

    v512工作室_张利国_Java高端培训系列教材_Oracle实用教程_02章_Oracle数据库入门

    - **完整性控制**:保证数据逻辑上的正确性和有效性,如年龄不能为负值。 **2.4 分布式数据库和处理** - **分布式数据库**:在多台计算机上组成的逻辑数据库,实现了数据的透明性和一致性。 - **分布式处理**:多...

    oracle 错误合集

    **ORA-17035**:不支持功能错误,可能是因为使用了 Oracle 数据库不支持的功能。 **ORA-17036**:Oracle Number 类型异常,通常是因为尝试将不兼容的数据类型转换为 Oracle Number 类型。 #### ORA-17037 至 ORA-...

    Oracle blob字段上传下载

    Oracle数据库支持Blob类型,允许用户在数据库中直接存储和管理这些大型文件。本文将详细介绍如何在Oracle数据库中实现Blob字段的上传和下载操作。 #### 二、Blob字段上传 Blob字段的上传通常涉及到以下几个步骤: ...

    Oracle课件

    值得一提的是,Oracle还收购了Java,进一步扩大了其在软件行业的影响力。 ### 如何学好Oracle数据库 学好Oracle数据库的关键在于理论与实践相结合。“学而实习之,不亦说乎。”这句话出自《学而》,强调了学习与...

    什么是java以及学习java的意义是什么

    5. **高性能**:虽然Java最初被认为是解释型语言,但随着JIT(Just-In-Time)编译器技术的发展,Java程序的性能得到了显著提升,已经接近甚至超过某些编译型语言。 #### 学习Java的意义 1. **跨平台性**:Java的...

    ORACLE9i_优化设计与系统调整

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

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

    是oracle权限最高的用户,登录时不能用normal。 2. system用户:超级用户,默认是SYSOPT(操作数据库的人),不过它也能以SYSDBA的权限登陆。拥有普通dba角色权限。 3. scott用户:是个演示用户,是让你学习Oracle用的...

    AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parameter

    当在Java环境中使用AES加密时遇到 `java.security.InvalidKeyException: Illegal key size or default parameter` 这个异常,通常意味着密钥的长度超过了Java安全策略所允许的最大值。具体来说: - **非法密钥大小...

    IBM oracle server2008

    登录Oracle企业管理器1158/em时,如果遇到“java.lang.Exception:Exception in sending Request::null”的错误,可以按照以下步骤解决: 1. 找到Oracle安装目录下的`emd.properties`文件,通常路径为`D:\oracle\...

    Data Structures and Algorithms in Java, 6th Edition, 2014

    9. 对Java和其他技术的商标权的尊重:在文档中提到了需要尊重Oracle公司对Java的商标权、Unix®和PowerPoint®的注册商标权,以及其他提到的产品的商标权。这一点强调了知识产权在学术出版中的重要性,同时也表明了...

    java虚拟机介绍

    - **Java in Java**:一种使用Java自身实现的Java虚拟机,主要用于研究和教学目的。 - **Maxine VM**:一个高度可配置的研究性虚拟机,用于探索新的虚拟机技术和编程模型。 - **Apache Harmony**:这是一个开源项目...

    oracle Pl/sql编程经典入门

    Oracle 支持多种数据类型,包括 NUMBER、VARCHAR2、DATE 等。掌握这些类型的特点及使用场景有助于更高效地设计数据库结构。 ##### 示例 - **创建一个包含员工姓名和生日的表**: ```sql CREATE TABLE employee_...

    java的程序设计及应用

    其后,Java逐渐获得了广泛的认可,成为企业应用和移动应用开发的重要平台,经济价值超过1,200亿美元。2006年,Java开源,2009年被Oracle公司收购。 Java的特点使其在编程界独树一帜。首先,Java是面向对象的语言,...

    JAVA发展史详细版.doc

    1995年,Sun Microsystems在SunWorld'95大会上正式发布了Java和HotJava浏览器,随后众多公司获得了Java许可证,如Netscape和Oracle。1996年,Sun成立了JavaSoft部门,专注于Java技术产品的开发、销售和支持。同年,...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

Global site tag (gtag.js) - Google Analytics