ORA-01795:maximum number of expressions in a list is 1000
原因:在SQL语句时,WHERE中的某一个条件采用IN的方式,但是由于数据过多则产生错误,oracle中in列表不能超过1000。
解决办法:
1.采用多个in ,原来in (1-2000) 写成 in(1-1000) or in(1001-2000)
外部再生成一个Set 按100条一次,if(set.isempty==fasle) 再执行剩下的
2.采用join 链接。(update 没有测试过)
3.降低In中列表元素的数量
4.直接采用循环,效率比较低
参考网址:http://nickkathy.javaeye.com/blog/399452
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/789833/viewspace-1036116/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/789833/viewspace-1036116/