分页的存储过程

原创 2013年12月04日 15:51:00

废话不说了,直接上代码!


1.创建包,在包中定义游标类型
create or replace package pkg_test
is
   type mytype is ref cursor;
end;
/




2.创建过程,带一个输出参数,
输出参数的类型是定义的引用游标类型
create or replace procedure proc_page
(mycur out pkg_test.mytype)
as
begin
   open mycur for 'select * from users';
end;


3.通过java代码调用


--分页的存储过程
create or replace procedure proc_page
 (
tablename varchar2,--表名
record number,--一页多少条记录
page number,--当前页数
totalpages out number,--总页数
mycur out pkg_test.mytype--放回的结果集
)
 as
v_sql varchar2(1000);
 begin
--总页数
v_sql:='select to_number(count(*)) from '|| tablename;
execute immediate v_sql into totalpages;
  
  totalpages:=ceil(totalpages/record);

  --拼接sql语句
v_sql:='select * from (select t.*,rownum rn from(select * from '|| tablename|| 
    ') t where rownum< '||page*record ||
    ')where rn>='||(page-1)*record;
   open mycur for v_sql;

 end;


具体的调用在java代码里面实现 这里为大家分享的是在oracle里面写的一个分页的存储过程!

版权声明:本文为博主原创文章,未经博主允许不得转载。

Sql Server 分页存储过程

分页存储过程一: --/*-----存储过程 分页处理 孙伟 2005-03-28创建 -------*/ --/*----- 对数据进行了2分处理使查询前半部分数据与查询后半部分数据性能相同 --...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2015年01月23日 21:12
  • 3621

MySql 分页存储过程

DELIMITER $$ #修改分隔符为 $$ DROP PROCEDURE IF EXISTS sp_MvcCommonDataSource$$ #分隔符 CREATE PROCEDURE sp_M...
  • xxj_jing
  • xxj_jing
  • 2014年06月05日 12:55
  • 6112

Oracle使用存储过程分页

今天我要说的就是基于Oracle存储过程的一种简单的分页方式,首先就是页面前端发起对分页的请求,然后向Oracle存储过程中传入页面当前数,页面大小,查询的SQL语句,而存储过程返回来的则是数据总条数...
  • lingyiwin
  • lingyiwin
  • 2016年04月26日 17:31
  • 1605

oracle查询分页条件通用存储过程

  • 2018年01月10日 09:24
  • 1KB
  • 下载

sqlserver 分页存储过程

  • 2014年11月18日 11:14
  • 44KB
  • 下载

分页存储过程

  • 2016年08月02日 22:50
  • 3KB
  • 下载

全能增删查分页存储过程

  • 2017年11月16日 14:02
  • 4KB
  • 下载

万能分页存储过程

  • 2017年11月23日 12:36
  • 1KB
  • 下载

Sql Server 通用分页存储过程(适用与 BootStrap Table)

  • 2017年10月05日 16:28
  • 3KB
  • 下载

分页存储过程

  • 2014年09月25日 10:59
  • 1002B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分页的存储过程
举报原因:
原因补充:

(最多只允许输入30个字)