`
jieming
  • 浏览: 51887 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ORA-01795: 列表中的最大表达式数为 1000

SQL 
阅读更多

周末在家休息,突然接到电话说客户有一问题,说是XX功能有问题,本以为是代码逻辑有问题造成的,周一来到公司立马打开代码看了一下,左看右看,右看左看都没看出啥,还好客户传回了数据库,那就到客户数据库上重现一把吧,晕死,真的有问题,截取SQL看一下吧,原来是一个包含IN的SQL,而IN中包含了大量的数据
直接执行了一把,晕,报错,如下,原来IN中的数据量不能超过1000条,

暂时处理方法是:如果大于1000的话就把它拆分成两个或多个in就OK了,所以上面的id not in ( .......)就变成了 id not in(str1) and id not in(str2) and id not in (str3).
试了一下,真的OK了噢

分享到:
评论
2 楼 jieming 2010-04-29  
monnsquare 写道
怎么不用not exist

嗯,也是一个好建议。
1 楼 monnsquare 2010-04-29  
怎么不用not exist

相关推荐

    Oracle 错误集选

    ### ORA-01795: 列表中的最大表达式数为1000 表达式的数量在一个列表中不能超过1000。简化查询或使用其他技术减少表达式的使用。 ### ORA-01796: 此运算符不能与列表一起使用 某些运算符不支持与列表一起使用。...

    Oracel 错误码查询

    ##### ORA-02257: 超出最大列数 - **原因**:创建表时列的数量超过了Oracle规定的限制。 - **解决方法**: - 减少表中的列数; - 考虑使用分区或其他技术优化表结构。 ##### ORA-02258: 重复或冲突的NULL和(或)...

    oracle错误报告.docx

    GROUP BY或ORDER BY子句中超过1000个表达式。减少表达式数量以符合限制。 8. ORA-00964: 表不在FROM列表中。确保在选择列表中引用的所有表都在FROM子句中定义。 9. ORA-00965: 不允许'*'作为列别名。在SQL语句中...

    Oracle数据库学习日记

    ##### 5.6 Select 中使用算术表达式 - **算术运算**: 可以直接在 `select` 语句中进行算术运算。 - 示例: `select id * 1000 as salary from employees;` ##### 5.7 使用 NVL 函数处理 NULL 值 - **处理 NULL**:...

    Oracle数据库学习日记-实用性最强的Oracle学习总结.docx

    - 使用 `AS` 或者直接在列名后加别名来为查询结果中的列命名。 - 示例:`SELECT ID AS USER_ID, NAME AS USER_NAME FROM MY_TABLE;` ##### 5.6 Select 中使用算术表达式 - 可以在 `SELECT` 语句中使用算术表达式...

    kettle_使用中的一些常见问题.docx

    #### 一、从 Excel 中抽取数据插入 Oracle 9 数据库时出现“ORA-01722: 无效数字”错误 **问题描述**: 当尝试从 Excel 文件中抽取数据并插入到 Oracle 9 数据库时,可能会遇到如下错误: ``` 2008/06/25 13:30:57 - ...

    oracle学习笔记--言简意赅

    - **NULL 处理**: NULL值在排序时被视为最大值。 - **多列排序**: `ORDER BY 1, 2, 3`表示按第一、第二、第三列顺序进行排序。 - **WHERE 子句** - **基本用法**: `WHERE condition`用于筛选满足条件的行。 - ...

    oracle伪列以与伪表.doc

    Oracle数据库系统中,伪列和伪表是其特有的概念,用于增强数据库的功能和操作灵活性。伪列不是用户在创建表时定义的列,而是Oracle系统自动生成的特殊列,它们提供了额外的信息或功能。以下是关于Oracle伪列和伪表的...

    oracle系统内置函数大全

    6. GREATEST函数:返回参数列表中的最大值。 7. LEAST函数:返回参数列表中的最小值。 8. NVL函数:用于将NULL值转换为指定的值。 9. UID函数:返回Oracle数据库的内部唯一标识。 10. USER函数:返回当前用户的名字...

    oracle中的greatest 函数和 least函数示例代码

    `GREATEST` 函数接受至少两个参数,可以是列名、常量或表达式,它将返回这些值中的最大值。例如,在描述中提到的场景,我们有一个名为TB的表,包含ID、CHINESE、MATH和ENGLISH四列,我们想要在每行数据中找出语文、...

    Oracle从入门到精通

    - `MAX(column_name)`:最大值。 ##### 1.9 子查询 - **子查询**:在一个查询语句中嵌套另一个查询语句。 - `SELECT * FROM table_name WHERE column_name IN (SELECT column_name FROM other_table);` ##### ...

    2009达内SQL学习笔记

    ORDER BY子句中使用的列将是为显示所选择的列,但是实际上并不一定要这样,用非检索的列排序数据是完全合法的。 为了按多个列排序,列名之间用逗号分开。 2、支持按相对列位置进行排序。 输入 SELECT prod_id,...

    Oracle快速入门

    - **TRANSLATE**: 将字符串中的某些字符替换为其他字符。 ```sql SQL> select translate('ThisissecondtrianingofitpubinBeijing!','abcde','12345') itpub from dual; ``` - **SUBSTR**: 提取字符串中的子串。 ```...

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

    n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中,M表示精度,代表数字的总位数;N表示小数点右边数字的位数 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月...

    oracle游标优化

    然而,在实际应用过程中,不当的游标使用可能会导致性能问题,因此对游标的优化就显得尤为重要。 #### Oracle游标的基本概念 1. **定义**:在Oracle中,游标是一种服务器端的工作区,用来保存SELECT语句的结果集。...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习Oracle为提升语言效率而加入的支持特性,进而将两者综合考虑并在工作中加以应用。作者通过总结各自多年的软件开发和教学培训经验,与大家...

    ssh(structs,spring,hibernate)框架中的上传下载

    WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。  本文后面的章节将从数据持久层->业务层->Web层的...

    具有过时CSI和自适应传输技术的部分中继选择对通信系统容量的影响

    本研究论文探讨了在部分中继选择的放大转发(AF)系统中过时的信道状态信息(CSI)对通信系统容量的影响,并针对独立同分布(i.i.d.)的瑞利衰落信道进行了分析。文章研究了四种经典的自适应传输技术,包括恒定功率...

Global site tag (gtag.js) - Google Analytics