oracle 分页查询
来源:互联网 发布:java c 哪个难 编辑:程序博客网 时间:2024/06/01 09:32
1 要把ROWID来分
select * from t_xiaoxi where rowid in(select rid from select rownum rn,rid from (select rowid rid,cid from t_xiaoxi order by cid desc) where rownum<10000) where rn>9980) order by cid desc;
2 按分析函数来分
select * from (select t.*,row_number() over(order by cid desc) rk from t_xiaoxi t )where rk<100000 and rk>9980;
3 按rownum来分。
select * from (select t.* rownum rn from (select * from t_xiaoxi order by cid desc)t where rownum<10000) where rn>9980;
效率1>3>2
CREATE OR REPLACE PACKAGE "EA_PAK_PAGESELECT" as
type ResultData is ref cursor;
procedure sp_Page(p_PageSize int, --每页记录数
p_PageNo int, --当前页码,从 1 开始
p_SqlSelect varchar2, --查询语句,含排序部分
p_SqlCount varchar2, --获取记录总数的查询语句
p_OutRecordCount out int,--返回总记录数
p_OutCursor out ResultData);
end;
CREATE OR REPLACE PACKAGE BODY "EA_PAK_PAGESELECT" as
procedure sp_Page(p_PageSize int, --每页记录数
p_PageNo int, --当前页码,从 1 开始
p_SqlSelect varchar2, --查询语句,含排序部分
p_SqlCount varchar2, --获取记录总数的查询语句
p_OutRecordCount out int,--返回总记录数
p_OutCursor out ResultData)
as
v_sql varchar2(3000);
v_count int;
v_heiRownum int;
v_lowRownum int;
begin ----取记录总数
execute immediate p_SqlCount into v_count;
p_OutRecordCount := v_count; ----执行分页查询
v_heiRownum := p_PageNo * p_PageSize;
v_lowRownum := v_heiRownum - p_PageSize +1;
v_sql := 'SELECT * FROM (SELECT A.*, rownum rn FROM ('|| p_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;
- oracle Oracle分页查询
- oracle 数据分页查询
- Oracle分页查询语句
- oracle分页查询
- Oracle分页查询语句
- Oracle分页查询语句
- Oracle分页查询语句
- Oracle的分页查询
- oracle分页查询
- Oracle分页查询
- oracle 分页查询
- Oracle的分页查询
- oracle分页查询
- Oracle分页查询语句
- ORACLE分页查询
- Oracle分页查询语句
- oracle分页查询
- 分页查询优化--oracle
- 抽象类和接口的区别
- 第四周 任务三
- WinForm 中的 Form_Load函数和他的构造函数 public Form()有什么区别?
- ubuntu安装FastDFS的经历
- 设计模式——装饰者模式(Decorator)
- oracle 分页查询
- 关于我的资源密码
- 提示错误“expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token“
- zoj 1284 Perfection
- C#:params 关键字的学习
- Linux设备驱动程序学习(0) -设备驱动介绍& Hello, world!模块
- 西游记,唐僧的”决心“
- 为什么用线程池
- Apache+Tomcat集群配置