Loading...

java .net

2007年5月23日 星期三

昨天,昨天晚上回去不想写日志就没上来,一天半,基本上把junzhuan的四个页面的功能弄出来了,这都是自己写的,比hezhi改别人的东西顺唐多了,哈哈
    研究了一下oracle的分页,早就听说oracle可以支持分页的查询,而sqlserver好像就没有这种功能,但一直也不知道oracle是怎么分页的,这次的做的这个功能有机会看到老系统人家是怎么实现了,研究了研究终于明白了
    原来oracle每个表都有一个伪字段rownum,所谓伪字段,我的理解就是不是用户建的,也不用用户维护,还有个伪字段rowid。
    rownum是oracle在查询结果集的时候为每个记录顺序分配的,这样我们可以利用他来实现分页
    但不能这样写select * from table where rownum > 1 and rownum < 5
    因为已rownum做条件只能>0或者>负数
    因为oracle在比较的时候,第一条记录rownum=1,1>1不成立,丢弃,下一条记录rownum=1,1>1不成立,以此类推,没有符合条件的记录
    利用子查询实现分页
    select * from (select rownum r,td.* from (select * from table) td) where r > 10 and r < 20
    在这里rownum变成了一个结果集中的字段,根普通字段没什么两样,这样我们只要传入起至记录就可以分页啦,哈哈
    呵呵,原来oracle分页是这么搞的,刚知道,嘿嘿,学习啦。

posted on 2008-08-26 22:06 阅读(85) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

公告

希望有一天

我能用鼠标双击我的钱包

然后选中一张100元

按住“ctrl+c”

接着不停的“ctrl+v”

嘻嘻~~~笑醒~~~



导航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(6)

随笔分类(102)

随笔档案(398)

文章分类

文章档案(10)

有趣网络

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜