日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Oracle报错】ORA-01795: 列表中的最大表达式数为 1000 问题解决(使用JDK8的 stream 实现)

發布時間:2024/10/6 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Oracle报错】ORA-01795: 列表中的最大表达式数为 1000 问题解决(使用JDK8的 stream 实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 問題說明

-- 類似這種 SQL SELECT * FROM tableName WHERE tableField IN ('','')

姑且不說這種 SQL 的效率和可優化和替代性,就當前問題在 MySQL、Greenplum 數據庫沒有 1000 的限制。

2. 解決方法

解決的方法較多,這里使用的是 JDK8 的 stream 方法,代碼如下:

/*** 通過 List 數據獲取 inStr 字符串(超過 1000 個改成 or in)** @param list List對象* @return inStr 字符串*/private String getInStrByList(List<Map<String, Object>> list) {int listSize = list.size();List<Map<String, Object>> tempRecordList;// 分段大小(這個數值可以寫成參數傳遞過來)int lengthControl = 1000;List<String> inStrSegmentList = new ArrayList<>();if (listSize <= lengthControl) {return list.stream().map(oneMap-> MapUtils.getString(oneMap, "fieldName")).collect(Collectors.joining("','", " table_field in ( '", "' ) "));} else {// 進行分段double number = listSize * 1.0 / lengthControl;int n = ((Double) Math.ceil(number)).intValue();for (int i = 0; i < n; i++) {int iLength = i * lengthControl;int end = lengthControl * (i + 1);if (end > listSize) {end = listSize;}tempRecordList = list.subList(iLength, end);String inStrSegment = tempRecordList.stream().map(oneMap -> MapUtils.getString(oneMap, "fieldName")).collect(Collectors.joining("','", "'", "'"));inStrSegmentList.add(inStrSegment);}}return inStrSegmentList.stream().collect(Collectors.joining(" ) or table_field in ( "," ( table_field in ( "," ) )"));}

字符串的使用舉例:

<select id="geDataList" parameterType="java.util.Map" resultType="java.util.Map">SELECT * FROM table_name<where><if test="inStr != null and inStr != ''">AND ${inStr}</if></where></select>

總結

以上是生活随笔為你收集整理的【Oracle报错】ORA-01795: 列表中的最大表达式数为 1000 问题解决(使用JDK8的 stream 实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丁香婷婷深情五月亚洲 | 精品中文字幕一区 | 国产精品久久中文字幕 | 综合伊人久久 | 亚洲国产精品久 | 蜜桃视频在线网站 | 四虎影库永久在线 | 免费亚洲精品 | 久久影视 | 男生尿隔着内裤呲出来视频 | 日韩免费黄色片 | 国产免费不卡 | 狠狠操在线播放 | 国产18照片色桃 | 亚洲操片 | jizz亚洲女人 | 欧美精产国品一二三区 | 91传媒理伦片在线观看 | 成人av网站在线播放 | 国产成人亚洲综合 | 亚洲成人免费在线视频 | 青青草免费在线观看 | 久婷婷| 男生和女生靠逼视频 | 天天看片中文字幕 | 亚洲欧美自拍偷拍 | 成人h片在线观看 | 亚洲AV成人精品 | 欧美色呦呦 | 欧美女人一区二区 | 三级视频黄色 | 伊人精品在线观看 | 精品麻豆视频 | 伊人久久大香线蕉av一区 | 久月婷婷| 9191国产精品 | 在线一区视频 | 色噜噜狠狠成人中文 | 人人爽视频| 欧美黄一级| 夜久久久| 午夜家庭影院 | 亚洲1级片 | 人人综合| 99精品一区 | 夜夜se| 日韩欧美三区 | 尤果网福利视频在线观看 | 无码成人一区二区 | www.成人免费视频 | 久久久久久久久久久丰满 | 中文字幕偷拍 | 色女仆影院 | 高h视频在线播放 | free黑人多人性派对hd | 一区二区人妻 | 91免费看网站 | av成人在线电影 | 欧美成年人在线观看 | 日韩一区在线看 | a级黄色网址 | jizz日本在线 | 亚洲综合免费观看高清完整版 | 四虎视频在线观看 | 美国黄色a级片 | 一级全黄裸体免费视频 | 成人av毛片 | 337p粉嫩大胆噜噜噜亚瑟影院 | 一区二区三区视频在线观看免费 | 华人av在线 | 亚洲欧美一区二区三区在线观看 | 黄色录像a | 成人免费视频一区二区 | 日韩激情综合网 | 国产午夜精品福利 | 91视频合集| 亚洲 另类 春色 国产 | 日本一本高清视频 | 久久av网 | 91理论片午午伦夜理片久久 | 无码一区二区三区在线 | 人人妻人人澡人人爽人人dvd | 人妻在卧室被老板疯狂进入 | 男人操女人免费网站 | 超碰公开在线观看 | 国产夫妻在线视频 | 天堂成人 | 国产精品23p| 欧美日韩精品 | 老司机免费在线视频 | 国产蜜臀av一区二区 | 欧洲视频在线观看 | 日韩在线观看视频免费 | 在线成年人视频 | 成人中文字幕+乱码+中文字幕 | 蜜臀久久99精品久久久久久 | 北条麻妃一区二区三区四区五区 | 国产日韩一区二区三区 | 日本特级毛片 |