甲骨文分页查询方法是什么

这篇文章主要讲解了“Oracle分页查询方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle分页查询方法是什么”吧!

前言

前面我们介绍Oracle的并行查询,本来是想用并行查询来解决获取所有数据的方法,结果自己测试后发现并没有达到自己想要的效果,所以还是要准备利用分页进行查询了。

分页查询

在Oracle中,并没有想MySql里面的Limit的方法进行过滤,所以要实现分页查询要麻烦一些,需要你用原表进行排序后再通过rownum来时行分页的处理。

Oracle分页查询语句基本上可以按照本文给出的格式来进行套用。

Oracle分分页查询格式:

Oracle分页查询方法是什么

其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <=40和RN>=21控制分页查询的每页的范围。

上面给出的这个Oracle分分页查询语句,在大多数情况拥有较高的效率。分页的目的就是控制输出结果集大小,将结果尽快的返回。在上面的分页查询语句中,这种考虑主要体现在WHERE ROWNUM <=40这句上。

代码实现

我们还是用数据库的tskuplu的表,这个表里有2W4千多数据,我们可以考虑设置一个页数,一个每页的最多行数来分多数查询效果。

Oracle分页查询方法是什么

我们自己写了一个自定义的查询分页方法,根据每次修改页数,来计算vi_startrow和vi_endrow两个开始行于结束行。然后通过这两个值进行sql语句的拼接。

通过上面执行完后,我们可以看到拼接后的SQL语句,如下图:

Oracle分页查询方法是什么

然后我们把输出的语句在新的窗口中打开查询后并运行一下结果

Oracle分页查询方法是什么

Oracle分页查询方法是什么

可以看出来我们通过分页查询后,可以一段一段的时行输出了,查询的耗时我们也能接受。

最后贴上写的那段语句:

declare vi_page integer; ——页数
,,,,,,,vi_rows整数;——每页行数
,,,,,,,vi_startrow整数;——起始行
,,,,,,,vi_endrow整数,,,——结束行
,,,,,,,vs_sSql varchar2 (8000),

开始,——设置页数和每页行数
,vi_page:=2,
,vi_rows:=1000;
,
,——计算起始行
,vi_startrow:=(vi_page-1) * vi_rows + 1;,
——计算结束行
,vi_endrow:=vi_page * vi_rows;,,,,,,,,,

,vs_sSql:=& # 39; select * from(选择rownum rowno, t。从(select * * tskuplu order by pluid) t
,rownum<=& # 39; | | to_char (vi_endrow) | | & # 39;) tb_plu
,tb_plu.rowno>=& # 39; | | to_char (vi_startrow);
,
,dbms_output.put_line (vs_sSql);
,

感谢各位的阅读,以上就是“甲骨文分页查询方法是什么”的内容了,经过本文的学习后,相信大家对甲骨文分页查询方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

甲骨文分页查询方法是什么