Oracle万能分页法的存储过程
来源:互联网 发布:c mysql连接字符串 编辑:程序博客网 时间:2024/06/11 04:06
--创建一个包,在包中定义一个 游标类型
create or replace package testfenyepackage as
type test_cursor is ref cursor ;
end testfenyepackage;
--编写分页的过程
create or replace procedure fenyeTest
(
tableName varchar2,--表名
pageSize number,--每页显示的数目
pageNow number,--当前的页数
Outrows out number,--返回总记录数
pagecount out number,--总页数
p_cursor out testfenyepackage.test_cursor--返回的记录集
)
as
--定义部分
--第一一个sql语句的字符串
v_sql varchar2(1000);
--定义分页的开始结束的整数变量
v_begin number:=(pageNow-1)*pageSize+1;
v_end number:=pageNow*pageSize;
begin
--执行部分
v_sql:='select * from (select t1.*, rownum rn from (select * from '||tableName||')t1
where rownum<='||v_end||') where rn >='||v_begin;
--把游标和sql相关联
open p_cursor for v_sql;
--计算Outrows pagecount
--组织一个 sql语句
v_sql:='select count(*) from '||tableName;
--执行sql并把返回的结果赋值给Outrows
execute immediate v_sql into Outrows;
--计算页数
if mod(Outrows,pageSize)=0 then
pagecount:=Outrows/pageSize;
else
pagecount:=Outrows/pageSize+1;
end if;
end;
create or replace package testfenyepackage as
type test_cursor is ref cursor ;
end testfenyepackage;
--编写分页的过程
create or replace procedure fenyeTest
(
tableName varchar2,--表名
pageSize number,--每页显示的数目
pageNow number,--当前的页数
Outrows out number,--返回总记录数
pagecount out number,--总页数
p_cursor out testfenyepackage.test_cursor--返回的记录集
)
as
--定义部分
--第一一个sql语句的字符串
v_sql varchar2(1000);
--定义分页的开始结束的整数变量
v_begin number:=(pageNow-1)*pageSize+1;
v_end number:=pageNow*pageSize;
begin
--执行部分
v_sql:='select * from (select t1.*, rownum rn from (select * from '||tableName||')t1
where rownum<='||v_end||') where rn >='||v_begin;
--把游标和sql相关联
open p_cursor for v_sql;
--计算Outrows pagecount
--组织一个 sql语句
v_sql:='select count(*) from '||tableName;
--执行sql并把返回的结果赋值给Outrows
execute immediate v_sql into Outrows;
--计算页数
if mod(Outrows,pageSize)=0 then
pagecount:=Outrows/pageSize;
else
pagecount:=Outrows/pageSize+1;
end if;
end;
0 0
- Oracle万能分页法的存储过程
- sqlserver2005万能分页存储过程
- oracle分页的存储过程
- ORACLE分页的存储过程
- oracle 分页的存储过程
- oracle分页的存储过程
- oracle存储过程分页
- oracle存储过程分页
- Oracle分页存储过程
- Oracle 存储过程分页
- ORACLE分页存储过程
- oracle 分页存储过程
- Oracle分页存储过程
- Oracle分页存储过程
- Oracle存储过程分页
- oracle 分页存储过程
- Oracle存储过程分页
- Oracle分页存储过程
- 纯代码 自动屏幕适配iPhone 按钮
- Linux 学习问题...
- 面试Java软件开发职位面试题
- 可变数组交换(冒泡排序)
- ubuntu下安装solr(总结)
- Oracle万能分页法的存储过程
- ini设置指令的一些知识
- 创建一个自定义会话处理程序
- POJ 3579 Median
- 你知道六一儿童节起源于希特勒制造的大屠杀吗?
- iOS开发- Xcode插件(一)-规范注释生成器VVDocumenter
- Android数据存储---数据备份(Data Backup)(一)
- 骨骼动画换装的实例
- 阅读和写作会话数据