ITPub博客

首页 > 数据库 > Oracle > 黑马程序员 Oracle分页

黑马程序员 Oracle分页

Oracle 作者:yutiesong 时间:2012-10-18 20:26:01 0 删除 编辑

分页

------- 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  is ref 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博客 ” ,链接:http://blog.itpub.net/23102196/viewspace-1116258/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-12-30