通过rownum隐式游标实现与TOP相似的功能

  • 来源: 赛迪网 作者: 若水   2008-04-25/10:19
  • 虽然Oracle数据库并不支持TOP关键字:但它提供了rownum这个隐式游标,可以实现与TOP类似的功能。

    示例如下:

     

    SELECT TOP 10 ... FROM WHERE ...

    要写成

     

    SELECT ... FROM ... WHERE ... AND rownum <= 10

    rownum 是记录序号(1,2,3...),注意:如果 SQL 语句中有 ORDER BY ... 排序的时候,rownum 居然是先“标号”后排序!这样,这个序号如果不加处理是不合乎使用需求的。

     

    至于临时表,Oracle数据库的临时表和SQL Server的有很大不同。

     

    分页示例:

     

    SELECT * FROM

    (

    SELECT A.*, rownum r

    FROM

    (

    SELECT *

    FROM Articles

    ORDER BY PubTime DESC

    ) A

    WHERE rownum <= PageUpperBound

    ) B

    WHERE r > PageLowerBound;


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多