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

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

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

    Knight of the round table

    wansong

    oracle pagination stored procedure.

    http://zzx0421.javaeye.com/blog/281015

    Oracle 分頁:

    create or replace procedure P_QuerySplit(

    sqlscript varchar2, 表名/SQL語句

    pageSize integer, 每頁記錄數

    pageIndex integer, 當前頁

    totalCount out number, 總記錄數

    totalPage out number, 總頁數

    v_cur out sys_refcursor 返回游標

     

    1. ) is  
    2. /**  
    3. * by chenjianxin 2008-5-3  
    4. *  
    5. */  
    6. v_PageSize number;  
    7. v_PageIndex number;  
    8. v_SQL_Count varchar2(4000);  
    9. v_SQL varchar2(4000);  
    10. v_StartIndex number;  
    11. v_EndIndex number;  
    12. begin  
    13. v_PageSize:=pageSize;  
    14. if v_PageSize=0 then  
    15. v_PageSize:=1;  
    16. end if;  

     

    ibatis調用Oracle分頁存儲過程中需要統計記錄數量

     

    1. v_SQL_Count :'select count(*) from (' ? ? sqlscript ? ?') a ';  
    2. execute immediate v_SQL_Count into totalCount;  

     

    計算總頁數

     

    1. totalPage:=CEIL(totalCount/v_PageSize); 

    驗證頁號 如果頁號大余了最大頁數,返回最后一頁

     

    1. v_PageIndex:=pageIndex;  
    2. if v_PageIndex>totalPage then  
    3. v_PageIndex:=totalPage;  
    4. end if;  

     

    計算開始的Index和結束的Index

     

    1. v_StartIndex:=(v_PageIndex-1)*v_PageSize 1;  
    2. v_EndIndex:=v_PageIndex*v_PageSize;  
    3. v_SQL:='SELECT /* FIRST_ROWS */* FROM (';  
    4. v_SQLv_SQL:=v_SQL ? ?' SELECT A.*, ROWNUM RN ';  
    5. v_SQLv_SQL:=v_SQL ? ?' FROM (' ? ?sqlscript ? ?') A ';  
    6. v_SQLv_SQL:=v_SQL ? ?' WHERE ROWNUM <= ' ? ?v_EndIndex;  
    7. v_SQLv_SQL:=v_SQL ? ?')WHERE RN >= ' ? ?v_StartIndex;  
    8. open v_cur for v_SQL;  
    9. end P_QuerySplit;   



  • create or replace procedure PageInation(   
  • p_CURSOR out TESTPACKAGE.Test_CURSOR,   
  • tableName in varchar2,   
  • tableResult in varchar2,   
  • lowerNum in numeric,   
  • higherNum in numeric   
  • ) is    
  • sqls varchar2(2000);   
  • begin   
  • sqls :='select * from ( select rownum rownum_,'||tableResult||' from ('||tableName||') row_ where rownum <=' ||higherNum||') where rownum_ >'||lowerNum;    
  • OPEN p_CURSOR FOR sqls;   
  • end PageInation;    
  • posted on 2010-09-13 21:42 w@ns0ng 閱讀(197) 評論(0)  編輯  收藏 所屬分類: Database

    主站蜘蛛池模板: 99视频在线观看免费| 国产偷国产偷亚洲高清在线| 久操视频免费观看| 亚洲AV无码成人专区片在线观看| 最近免费中文字幕中文高清| 欧洲亚洲国产清在高| a级成人毛片免费图片| 亚洲第一精品福利| 香蕉免费一区二区三区| 久久久亚洲欧洲日产国码农村| 国产精品99精品久久免费| 亚洲黄色在线观看视频| 2019中文字幕免费电影在线播放| 亚洲一区电影在线观看| 免费黄色app网站| 一级一黄在线观看视频免费| 亚洲精品无码久久久久| 最近的中文字幕大全免费8| 亚洲中文字幕一二三四区苍井空| 日韩成人在线免费视频| eeuss影院www天堂免费| 亚洲美女视频一区二区三区| 手机在线免费视频| yellow免费网站| 亚洲网站在线免费观看| 午夜dj免费在线观看| 国产精品美女久久久免费 | 亚洲色无码国产精品网站可下载| 香蕉视频在线观看免费国产婷婷| 猫咪免费人成在线网站 | 77777午夜亚洲| 亚洲人成色77777在线观看大| 女人体1963午夜免费视频| tom影院亚洲国产一区二区| 一本色道久久88亚洲综合| 亚洲免费在线视频播放| 美女被免费网站视频在线| 亚洲av日韩av无码黑人| 国产裸模视频免费区无码| 99久在线国内在线播放免费观看 | 特级毛片A级毛片免费播放|