一级毛片免费不卡在线视频,国产日批视频免费在线观看,菠萝菠萝蜜在线视频免费视频,欧美日韩亚洲无线码在线观看,久久精品这里精品,国产成人综合手机在线播放,色噜噜狠狠狠综合曰曰曰,琪琪视频

pl/sql過程分頁顯示小案例 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【m.oriental01.com - 電腦資料】

    pl/sql過程分頁顯示小案例

    編寫一個(gè)過程,要求可以輸入表名,輸入每頁顯示的記錄數(shù),輸入當(dāng)前頁,返回總記錄數(shù),總頁數(shù),和返回的結(jié)果集

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

    SQL>create or replace package testPackage as type test_cursor(游標(biāo)名) is ref cursor(游標(biāo))

    end testPackage

    SQL>create procedure p8(table_name in varchar2,--表名

    pageSize in number,           --當(dāng)前顯示的記錄數(shù)

    pageNow in number,--當(dāng)前頁

    --下面都是要返回的內(nèi)容,其值在過程處理中賦予

    myrows out number,            --總記錄數(shù)

    myPageCount out number,         --總頁數(shù)

    p_cursor out testPackage.test_cursor   --返回的結(jié)果集

    ) is

    --定義sql語句

    v_sql varchar2(1000);

    v_begin number := (pageNow - 1)*pageSize + 1; -- 每頁顯示的最少數(shù)

    v_end number := pageNow * pageSize;     --每頁顯示的最大數(shù) 

    bgein

    v_sql := 'select * rownum from (SQL>select a1.*,rownum rn from (select name,sal from '||table_name||')

    a1 where rownum<='||v_end||') where rownum>'||v_begin||'';

    open p_cursor for v_sql;                --打開一個(gè)游標(biāo),將游標(biāo)和sql語句關(guān)聯(lián)起來

    v_sql : = 'select count(*) from '||table_name'';   --計(jì)算myrows和myPageCount

    execute immediate v_sql into myrows ;         --執(zhí)行sql,并把返回值賦給myrows來記錄總記錄數(shù)

    if mod(myrows,pageSize)= 0 then           --計(jì)算總頁數(shù),注意思路,很好理解

    myPageCount := myrows/Pagesiez;

    else

    myPageCount := myrows/Pagesiez + 1;

    end if

    close p_cursor;                    --關(guān)閉游標(biāo) 

    end;

    /

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

    Class.forName("oracle.jdbc.driver.OracleDriver");

    Connection ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:

    CallableStatement cs = ct.prepareCall("{call p8(?,?,?,?,?,?)}");

    //給?賦值

    cs.setString(1,"myTable");

    sc.setInt(2,5);

    sc.setInt(3,1);

    //給out參數(shù)?賦值

    cs.registOutPrameter(4,oracle.jdbc.OracleTypes.INTEGER);//這側(cè)記錄總數(shù)

    cs.registOutPrameter(5,oracle.jdbc.OracleTypes.INTEGER);//注冊(cè)總頁數(shù)

    cs.registOutPrameter(6,oracle.jdbc.OracleTypes.CURSOR);//注冊(cè)返回的結(jié)果集

   

    //執(zhí)行

    cs.execute();

    //得到結(jié)果集

    ResultSet rs = (ResultSet) cs.getObject(6);

    //取出總記錄數(shù)

    int rowNum = cs.getInt(4);

    //返回總頁數(shù)

    int pagecount = cs.getInt(5);

    while(rs.next()){

    System.out.println(rs.getInt(1) + "--" + rs.getString(2));

    }

    //關(guān)閉相關(guān)資源,此處略寫

    作者 chunqiuwei

最新文章