今天在使用oracle過(guò)程中遇到一個(gè)奇怪的問(wèn)題
相同的查詢語(yǔ)句,一種采用綁定參數(shù)方式查詢,一種采用寫(xiě)死的sql語(yǔ)句執(zhí)行,執(zhí)行結(jié)果不一致

select t.*, c.CP_NAME as CP_NAME
  
from (select *
          
from (select row_.*, rownum rownum_
                  
from (select *
                          
from (select *
                                  
from sp_biz_code_order order by order_id)
                         start 
with PARENT_ID = 0
                        connect 
by PRIOR ORDER_ID = PARENT_ID) row_
                 
where rownum <= :1)
         
where rownum_ >:2) t,
       sp_biz_contentprovider c
 
where t.CPID = c.CP_ID(+)
 
order by rownum_

當(dāng)將:1 和:2處的參數(shù)寫(xiě)死后(80:100)執(zhí)行得到的結(jié)果和綁定參數(shù)下查詢的結(jié)果完全不一致
查看執(zhí)行計(jì)劃發(fā)現(xiàn)兩者的執(zhí)行計(jì)劃有很多不一樣的地方

問(wèn)題解決方式較為簡(jiǎn)單
將ibatis的內(nèi)聯(lián)參數(shù)改為外聯(lián)參數(shù)即可,問(wèn)題的根源待咨詢oracle后再做解答