• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle 分页步骤

mysql 搞代码 4年前 (2022-01-09) 22次浏览 已收录 0个评论

–Oracle分页定义好的游标 create or replace package chj1_package astype chji1_cursor is ref cursor;end chj1_package; –一

–Oracle分页
定义好的游标

create or replace package chj1_package as
type chji1_cursor is ref cursor;
end chj1_package;

–一步
select t1.*,rownum from (select * from chengji) t1
–二步
select t1.*,rownum rn from (select * from chengji) t1 where rownum <=2
–三步
select * from
(select t1.*,rownum rn

本文来源gaodai.ma#com搞##代!^码@网3

from (select * from chengji) t1 where rownum <=2)
where rn>1
–建立一个存储过程
–输入表名 每页显示的条数 当前页
–返回总的条数、页数、结果集
create or replace procedure proc_fenye
(
tableName in varchar2,
everyPageSize in number,
nowPage in number,
allRowCount out number,–总条数
allPageCount out number,–总页数
fy_cursor out chj1_package.chji1_cursor–返回集
)
is–定义部分
v_sql varchar2(1000);
v_begin number:=(nowPage-1)*everyPageSize+1;–开始条数
v_end number:=nowPage*everyPageSize;–结束条数

begin–执行部分
v_sql:=’select * from
(select t1.*,rownum rn from (select * from ‘|| tableName ||’) t1 where rownum <='|| v_end ||')
where rn>’|| v_begin ||”;
open fy_cursor for v_sql;

–计算allRowCount和allPageCount
v_sql:=’select count(*) from ‘|| tableName ||”;

–执行sql 并把值赋给allRowCount
execute immediate v_sql into allRowCount;

–根据allRowCount的值计算allPageCount总页数
if mod(allRowCount,everyPageSize)=0 then
allPageCount:=allRowCount/everyPageSize;
else
allPageCount:=allRowCount/everyPageSize+1;
end if;
–close fy_cursor;
end;


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle 分页步骤
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址