oracle存储过程分页

来源:互联网 发布:网络用语大全 真的很全 编辑:程序博客网 时间:2024/04/28 22:57

oracle存储过程的分页:
select  * from (select rownum as seq , task_name from (select * from task_control_task t where task_state<>0) where rownum<30) where seq >=10;
说明:
1 所有的条件一定要放在最里面进行,包括分组。外面2层只负责条数的设定;
2 虽然小于和大于都可以放在最外面一起设定,表面上好像代码少了1层限制,但是性能严重下降;
3 rownum对于实表是不支持大于的,只支持小于,但是对于1个查出来的结果集。oracle会认为这是1个虚表(伪表),对于这个表是可以用rownum限制的,但是一定要用里面的第2层限制的那个rownum,因此这个rownum必须要用别名。否则oracle会把最外面的那个rownum取出。还会抱错。

基本就是这样。查询的结果集的列是3个查询结果集的交集。 

原创粉丝点击