ORACLE分页存储过程
来源:互联网 发布:淘宝改后台是什么意思 编辑:程序博客网 时间:2024/05/01 12:31
create or replace package Tools
is
type ResultData is ref cursor;
procedure sp_Page(p_PageSize int, --每页记录数
p_PageNo int, --当前页码,从 1 开始
p_OutRecordCount out int,--返回总记录数
p_OutCursor out ResultData);
end Tools;
create or replace package body Tools
is
procedure sp_Page(p_PageSize int, --每页记录数
p_PageNo int, --当前页码,从 1 开始
p_OutRecordCount out int,--返回总记录数
p_OutCursor out ResultData)
as
v_sql varchar2(3000);
v_count varchar2(3000);
v_SqlSelect varchar2(3000);
v_prcount number;
v_heiRownum int;
v_lowRownum int;
begin
----取记录总数
v_count:='select count(*)from grade';
execute immediate v_count into v_prcount;
p_OutRecordCount := v_prcount;
----执行分页查询
v_heiRownum := p_PageNo * p_PageSize;
v_lowRownum := v_heiRownum - p_PageSize +1;
v_SqlSelect := 'select * from grade';
v_sql := 'SELECT *
FROM (
SELECT A.*, rownum rn
FROM ('|| v_SqlSelect ||') A
WHERE rownum <= '|| to_char(v_heiRownum) || '
) B
WHERE rn >= ' || to_char(v_lowRownum) ;
--注意对rownum别名的使用,第一次直接用rownum,第二次一定要用别名rn
OPEN p_OutCursor FOR v_SQL;
end sp_Page;
end Tools;
- oracle存储过程分页
- oracle存储过程分页
- Oracle分页存储过程
- Oracle 存储过程分页
- ORACLE分页存储过程
- oracle 分页存储过程
- Oracle分页存储过程
- Oracle分页存储过程
- Oracle存储过程分页
- oracle 分页存储过程
- Oracle存储过程分页
- Oracle分页存储过程
- oracle 分页 存储过程
- Oracle存储过程分页
- oracle分页存储过程
- Oracle分页存储过程
- oracle存储过程分页
- oracle 存储过程分页
- [Windows编程] 监视DLL装载/卸载
- 浏览器的几个感悟
- 双管道实现进程数据通信
- 什么是泛型编程——Generic Programming
- 微软抠动扳机,对手应声倒下
- ORACLE分页存储过程
- 09年最新的最有才的100句话,不服不行!!
- 理解JavaScript的caller,callee,call,apply
- 学习知识
- 职场新人的入门法则:少想、多做、立即执行!
- 不让用轮子,难道我不会造一个吗?
- 丶流年丨
- NHibernate配置及映射文件
- 中国的未来 张五常