网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.用VC 开发基于ORACLE数据库应用程.
.linux环境下如何undelete.
.Oracle学习手册:Oracle游标使用.
.Oracle ADO数据存取.
.ORACLE在HP-UX下的系列问题处理(.
.Application Server明细列表.
.oracle里的常用命令.
.ORACLE 学习笔记一之数据库的导入.
.提高ORACLE数据库系统import性能.
.Oracle Provider for .NET扩展了.
.怎样将Oracle的外部表汉字转换为.
.在Linux创建库函数(7).
.Oracle9i中如何建立不同字符集的.
.如何让Linux运行两块以太网卡.
.将一台Oracle7数据导入到另一台9.
.用智能优化限制来提高Oracle性能.
.LMT下表FREELIST的初步探索.
.Oracle 8.0.5 在 RedHat 5.2 上的.
.oracle中实现自动增长列.
.我的权限控制(JBX + struts + hi.

如何返回指定行数之间的查询结果?

发表日期:2008-2-9


 如何返回指定行数之间的查询结果?

    如何返回指定行数之间的查询结果,以实现web记录分页,在Oracle中有许多的方法,这里仅仅列出了4种,希望能对大家有所帮助,大家可以根据不同需要选择下面的script 

1)select ... where rownum < 50 minus select ... where rownum < 30  
    这个方法因为用到了minus操作符,所以速度会受影响。  

2) 
SELECT results.* FROM  
( SELECT t2.*, rownum rownumber FROM  
( SELECT t.* FROM mv_table t WHERE ORDER BY col1) t2) results  
WHERE results.rownumber BETWEEN 30 and 50 ORDER BY col1 

这个方法是从一个论坛上看到的,没有亲自测试过  

3) 
定义cursor x, 2.fetch x a,b,c; loop ...... end loop;  
其中用两个循环变量和一个FLAG变量,分别表示,当前的记录数,属于第几页的, 及第一页面。  
ps;  
j:=to_number(kafyf);  
i:=1;  
open cx;  
loop fetch cx into col1,col2,col3,col4,col5,col6;  
if cx%NOTFOUND then exit; end if;  
    if i>=j then  
htp.tableRowOpen;  
htp.tableData(col1);  
htp.tableData(col2);  
htp.tableData(col4);  
htp.tableData(col5);  
htp.tableData(col6);  
htp.tableData(col3);  
htp.tableRowClose;  
i:=i+1;  
if i=j+10 then l:=1; exit; end if;  
else i:=i+1;  
end if;  
end loop;  
close x;  

该方法是名叫‘淼’的网友写的script,他用到了Oracle web2kit中的OWA_UTIL package。 

4)How can one page forward and backwards through a table? 
Externalize ROWNUM by implementing queries like this:  

SELECT ...  
FROM (SELECT ROWNUM rnum, ... FROM ...)  
WHERE rnum BETWEEN :low AND :high AND rownum <(:high :low + 1);  

    where :low and :high are dynamically generated values depending on which result page the user 
is viewing. 
Typically, they are used to show "Next 15 matches", "Previous 15 matches" links at the 
bottom of each page.  
上一篇:转载:ORACLE物理文件大小的限制 人气:672
下一篇:Oracle 8i数据库体系结构 人气:826
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐