隨筆 - 100  文章 - 50  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          我收藏的一些文章!

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          在Oracle中,sql中in不能超過1000個,比如:select  * from table  t where t.id in (1,2,3,......1001,1002)
          系統將報錯,解決辦法如下,寫成兩個或者多個。如:t.id in (1,2,....1000) or t.id in (1001,1002)
          實現代碼如下:
           public String DivString(){
            StringBuffer sb = new StringBuffer();
            StringBuffer sb2 = new StringBuffer();
            List agentList = new ArrayList();
            for(int i =0;i<1100;i++) 
             agentList.add(i);
            for(int i=0;i<agentList.size();i++){
             if(i==agentList.size()-1)
              sb.append("'").append(agentList.get(i)).append("')");
             else if(i%1000==0&&i>0)
              sb.append("'").append(agentList.get(i)).append("'")
              .append(") or t.id in (");
             else
              sb.append("'").append(agentList.get(i)).append("',");
            }
            sb2.append(" t.id  in ('',"+sb);
            System.out.println("sql is: "+sb2.toString());
            return sb2.toString();
           }
          posted on 2010-01-11 22:48 fly 閱讀(3313) 評論(2)  編輯  收藏 所屬分類: 數據庫學習

          FeedBack:
          # re: oracle sql in中數據不能超過1000個的解決方法。 2010-08-20 21:10 
          你這個方法都不行,不要抄了,以后  回復  更多評論
            
          # re: oracle sql in中數據不能超過1000個的解決方法。 2011-08-03 09:52 幽野閑鶴
          查多次不久完了,in效率那么低.查多次效率比in高多了
            回復  更多評論
            
          主站蜘蛛池模板: 屏边| 南和县| 溧阳市| 航空| 梧州市| 昌宁县| 石阡县| 宜宾县| 衡阳市| 安岳县| 双峰县| 江陵县| 武夷山市| 江阴市| 宽城| 怀化市| 武乡县| 宾阳县| 乌鲁木齐县| 阳城县| 车致| 浦城县| 伊宁县| 高密市| 葵青区| 长汀县| 茂名市| 泰来县| 石门县| 申扎县| 福贡县| 安塞县| 黔西| 宽甸| 锡林浩特市| 绥棱县| 深州市| 奇台县| 栾川县| 武宁县| 铁岭县|