首页 > 数据库 > mysql教程 > ORA-01795: 列表中的最大表达式数为1000

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

WBOY
发布: 2016-06-07 17:34:12
原创
3324 人浏览过

有个开发人员遇到错误:ORA-01795: 列表中的最大表达式数为1000语句为一个select xxx from xxx where xxx in (xx,xx,.....);下面

有个开发人员遇到错误:ORA-01795: 列表中的最大表达式数为1000

语句为一个select xxx from xxx where xxx in (xx,xx,.....);

下面我们来看一下这是什么错误:

01795, 00000, "maximum number of expressions in a list is 1000"
// *Cause: Number of expressions in the query exceeded than 1000.
// Note that unused column/expressions are also counted
// Maximum number of expressions that are allowed are 1000.
// *Action: Reduce the number of expressions in the list and resubmit.

 

从这里可以看出,是一个list里面最多1000个值,也就是说in里面最多1000个值,如果in的括号里面超过了1000个值,就会报这个错误。

解决的方法和简单,就是把一个in拆分成多个in,如果超过了1000就拆分成2个in,,如果超过了4000,就拆分成5个in

改成sql如下:select xxx from xxx where xxx in (xx,xxx...) or xxx in (xx,xx,...) or xxx in (xx,xx,...);

相关阅读:

GoldenGate不使用数据泵完成Oracle-Oracle的双向复制

使用GoldenGate的数据泵进行Oracle-Oracle的单向复制

如何对 Oracle 数据泵(expdp/impdp) 进行 debug

Oracle 数据库导出数据泵(EXPDP)文件存放的位置

Oracle 10g 数据泵分区表的导出

linux

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板