存储过程翻页

1.Define package

CREATE   OR REPLACE  PACKAGE "TYPES"
AS
 TYPE cursor_type IS REF CURSOR;
END;

2.Define Procedure


CREATE  OR REPLACE  PROCEDURE   P_USR_S

(
  ID_IN              IN      TBL_USR.ID%TYPE,
  CD_IN     IN      TBL_USR.CD%TYPE,
  REF_CURSOR         OUT     TYPES.CURSOR_TYPE,
  PAGE_NUMBER_IN     IN      NUMBER,
  TOTAL_RECORD_IN   IN      NUMBER
)
AS
 V_ROWSTART          NUMBER;
 V_ROWEND            NUMBER;
BEGIN
      V_ROWSTART := USF_CALC_ROW_START(PAGE_NUMBER_IN, TOTAL_RECORD_IN);
      V_ROWEND   := USF_CALC_ROW_END(PAGE_NUMBER_IN, TOTAL_RECORD_IN);

 OPEN  REF_CURSOR FOR
  SELECT   ID,
          CD,
          NM,
          EMAIL,
          VERSION,
          TOTAL_PAGE
         FROM
         (
          SELECT  ROWNUM ROWNUMBER, VW.*
              FROM
                (
                  SELECT
                         COUNT(*) OVER () TOTAL_PAGE ,
                          U.id,
                          U.cd,
                          U.nm,
                          U.VERSION
                FROM   TBL_USR U
                WHERE U.CD like CD_IN
                ORDER  BY CD
                )VW
              WHERE ROWNUM < V_ROWEND
            )
         WHERE ROWNUMBER >= V_ROWSTART;
 
END;
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值