<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    狼人
    走在SCJP的路上
    posts - 12,  comments - 14,  trackbacks - 0
    摘自:http://www.cnblogs.com/ivan-yan/archive/2009/05/30/1492042.html
    作者:Ivan-Yan



    最近在寫Sql語句時,碰到兩個問題:
          1)ORA-01795: maximum number of expressions in a list is 1000      
          起因:寫出了這樣的sql語句:SELECT PALLET_ID,BOX_ID,STATUS FROM SD_CURRENT_BOX WHERE PALLET_ID IN('"+pallets+"');其中的pallets是有很多個pallet_id組合成的字符串。
          分析:很顯然,根據錯誤提示可以知道:in 中items的限制 1000個。
          解決:用子查詢來代替pallets長字串。

          2)ORA-01704: string literal too long
          起因:寫出了這樣的Sql語句:UPDATE PDM_MEMBERLIST SET MEMBERS='<Project> ...  此處略去n多串 <ProjectID>'.
          分析:數據庫設計MEMBERS字段為xmltype格式,數據存儲時候,是以字符串的形式存儲。這樣在xml數據量大的時候,造成sql語句過長,嘗過2k的限制。
          解決:參數化sql語句。


    -----------------------------------------------------------------------------------------------------------------------

    #1樓   回復  引用  查看    

    ORA-01795:用IN的SQL效率比較低,如果是確定的數據,比如“IN(‘value1’,'value2'……)”,用OR連接更好些,雖然看著比較長,但是效率比較高。如果用子查詢,IN的效率也不如Exists。

    Ivan-Yan

    posted on 2009-08-03 16:48 狼人 閱讀(3010) 評論(0)  編輯  收藏 所屬分類: Oracle

    <2009年8月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久不见久久见免费影院www日本| 青青操在线免费观看| 免费在线观看a级毛片| 成人片黄网站色大片免费观看cn| 亚洲成av人在线视| free哆啪啪免费永久| 国产亚洲精品美女2020久久| 亚洲欧洲日产国码无码久久99| 18禁无遮挡无码国产免费网站| 亚洲av日韩av永久在线观看| 国产亚洲一区二区三区在线| 99久久国产热无码精品免费| 亚洲视频在线免费| 亚洲中文无码av永久| 亚洲人成电影网站国产精品| free哆啪啪免费永久| 久久成人18免费网站| 亚洲精品无AMM毛片| 久久久久久a亚洲欧洲AV| 日本高清免费不卡在线| 久久九九AV免费精品| 免费人成动漫在线播放r18| 亚洲精品白色在线发布| 精品国产亚洲男女在线线电影| 韩国免费一级成人毛片| 91在线免费观看| 黄色三级三级免费看| 国产成人精品亚洲2020| 久久精品亚洲综合专区| 亚洲 另类 无码 在线| 久久国内免费视频| 男人j进入女人j内部免费网站 | 美美女高清毛片视频黄的一免费| 亚洲av无码一区二区三区网站| 一本色道久久88亚洲综合| 免费毛片a在线观看67194 | 久久WWW免费人成人片| 免费网站看av片| 久青草国产免费观看| 亚洲丶国产丶欧美一区二区三区| 亚洲精品在线不卡|