Oracle分页SQL原理与使用(高效)
本次分页实现主要靠ROWNUM伪列+子查询完成 一、实现原理:在oracle数据库中提供有ROWNUM伪列,该伪列的作用是: SELECT empno,ename,job,ROWNUM FROM emp WHERE ROWNUM<=12 ;
SELECT * FROM ( SELECT empno,ROWNUM rn FROM emp WHERE ROWNUM<=12) temp WHERE temp.rn>5 ;
二、程序中使用清楚了原理之后,一般需要4个参数来控制分页: 1)当前所在页:currentPage 2)每页显示的行数:lineSize 3)模糊查询的列:column 4)关键字:keyWord 通过这些参数可以完成大部分业务需求,使用currentPage * lineSize限定ROWNUM,依然以emp表为例,假设每页要显示7条数据,查询第3页的内容: SELECT * FROM ( SELECT empno,ROWNUM rn FROM emp WHERE ROWNUM<=(currentPage * lineSize) AND column LIKE '%' ) temp WHERE temp.rn>((currentPage - 1) * lineSize)
在程序中将参数用占位符替换,之后分别设置即可 。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |