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; 其中蓝色部分可以改为任意的、需要的 SQL SELECT 语句,这点倒是挺方便的。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 11:26 , Processed in 0.112897 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.