首页 > 数据库 > Oracle > 黑马程序员 Oracle分页
分页
------- android培训、java培训、期待与您交流! ----------
分页sql:select *from
(select t1.*,rownum rn from (select*froom emp) t1 where
rownum<=10)
where rn>=6;
--开发一个包
create or replace package testpackage as
type test_cursor
end testpackage;
--创建一个过程
create or replace procedure fenye
(tableName in varchar2,
pageSize in number,
pageNow in number,
myrows out number,--总记录数
myPageCount out number,--总页数
p_cursor out testpackage.test_cursor--返回的记录集)
is
--定义部分
--定义一个sql语句 字符串
v_sql varchar2(1000);
v_begin number:=(pageNow-1)*pagesize+1;
v_end number:=pageNow*pagesize;
--执行部分
v_sql='select *from
(select t1.*,rownum rn from (select*froom '||tableName||') t1 where
rownum<'||v_end||')
where rn>='||v_begin;
--把游标和SQL关联;
open p_cursor for v_sql;
--计算myrows和myPageCount
--组织了一个sql语句
v_sql:='select count(*) from '||tableName;
--执行sql语句,并把返回的值,赋给myrows;
execute immediate v_sql into myrows;
--计算myPageCount
if mod(myrows,pagesize):=0 then
mypageCount:=myrows/pagesize;
else
mypageCount:=myrows/pagesize_1;
end if;
--关闭游标;
close p_cursor;
end;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23102196/viewspace-1116258/ ,如需转载,请注明出处,否则将追究法律责任。