文章类 软件类
好好999
 | 网站首页 | 网络编程语言 | 星座情感文章 | 特殊软件下载 | 站长工具天下 | 
html入门培训 网站服务器软件  化妆品经典广告词  雅芳化妆品价格  avon化妆品 net 入门培训 房地产销售广告 化妆品广告词 网络工程师
您现在的位置: 学习网 > 网络编程语言 > Oracle > 正文
 | 网络编程语言首页 | Dreamweaver | Html | Asp | Jsp | Php | Asp.net | Css | Javascript | Access | Mysql | Mssql | Oracle | Domain | Mainframe |
最 新 热 门
普通文章[SQL Server]探讨SQL2000对XML
普通文章如何从 MySQL 数据库表中检索数
普通文章[Oracle]减少临时表使用空间的
普通文章如何自动发布MS SQL SERVER数据
推荐文章Oracle外部程序的触发小结
普通文章[Sql server]如何得到用户的继
普通文章一些有用的sql语句实例
普通文章轻松三步走!防止SQL数据库注入
普通文章Oracle DBA数据库结构试题精选
普通文章Oracle进程导致CPU 100%解决步
 
频 道 推 荐
普通文章最危险的四大漏洞之一——数据
普通文章SQL server 数据库定时自动备份
普通文章Sql server 2005加强的十大安全
普通文章谈几个Sql server的日志
普通文章Sql Server去除表中的不可见字
普通文章五种提高 SQL Server 性能的方
普通文章Oracle 10g第2版新特性之SQL和
普通文章Oracle 10g第2版新特性之性能特
普通文章Oracle数据库10g的安全性和身份
普通文章SQL Server中如何用通配符搜索
普通文章MySQL 配置(Ubuntu篇 供新用户
普通文章MySQL配置(Ubuntu篇 供新用户参
普通文章sql server几个容易出错的数据
普通文章怎么样保护MySQL中重要的数据之
普通文章一个Select出一个表中第N条记录
普通文章数据库输出HTML格式报表的测试
普通文章SQL Server2005的XML数据类型之
普通文章用标准的SQL语句实现查询记录分
普通文章装不上SQL Server怎么办
普通文章Sql server传给语句的输入数据
 
频 道 推 广
 
在Oracle中实现搜索分页查询           ★★★
在Oracle中实现搜索分页查询
作者:佚名 文章来源:本站整理 更新时间:2007-12-15

  在构建自定义搜索引擎时,开发人员常遇到的一个问题是实现某种类型的分页功能;也就是说,允许用户提交一个返回很多行数据的查询,但是只显示前20条。在用户点击一个链接时,下20条或者前20条数据会从数据库应用程序中取出。

  数据库访问存在的一个问题是来自 Web 站点的请求是无状态的。在等待用户请求下一组数据时,让数据库维护一个游标的效率是非常低的。对 HTML 编写代码让游标位于客户端是可以做到的,但是游标是一个有限的资源,所以每次在页面装载完成时最好关闭游标。

  Oracle 游标不支持通过行集(rowset)向后移动;但是用户总是会在浏览器中后退,或者不按顺序请求一个行集。显然,返回有限行数据就成了数据库服务器的责任。

  伪列(pseudocolumn)ROWNUM 中包含有当前的行号。很多人在第一次试图返回表中中间某段记录子集时,都会发现下面这种方法行不通:

  select * from all_objects where rownum between 30 and 49;

  这种写法之所以行不通,是因为 ROWNUM 列只有在记录被取出或过滤时才会应用到记录上。第一行在被取出时会被抛出,因为它的 ROWNUM 是1。然后,下一行被取出;它也会被抛出,因为它是新的“1”,以此类推,直到所有的行都被使用。这个查询不会返回任何记录。解决方法是在看到30到50之间的记录时必须先取出1到30行的记录:

  select * from all_objects where rownum <= 49;

  然后,你可以将它作为一个子查询并过滤掉开始点之前的所有记录(注意我必须为“rownum”提供一个别名才能编译):

  select * from (select rownumr,all_objects.* from all_objects where rownum <=

  49) t

  where t.r >= 30;

  为了保证它的效率,不妨对这个限制使用绑定变量。这将使用所有此类请求在字面上完全相同,从而消除了在每次请求不同的范围求时重新解析查询:

  select * from (select rownumr,all_objects.* from all_objects where rownum <=

  :min) t

  where t.r >= :max;

  如果你使用的语言能够通过存储过程返回行集,那么数据库将自动在内部处理绑定变量。然后,应用程序代码就会只接收它请求的记录,而不必决定接收哪些记录。

  create or replace procedure search(p_mininteger,p_maxinteger,p_rowset out

  sys_refcursor)

  is

  begin

  select cursor(*) into p_rowset

  from (select rownumr,all_objects.* from all_ob

[1] [2] 下一页

 
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 相 关 文 章
    DreamWeaver打造Web查询系统(1)
    DreamWeaver打造Web查询系统(2)
    DreamWeaver打造Web查询系统(3)
    DW中实现flash的透明背景
    Dreamweaver打造多彩文字链接
    Dreamweaver中幂格式文本巧实现
    鼠标事件的基础和完美实现
    Dreamweaver 实现多分辨率层定位
    携手打造【鹏程114 Web查询系统】第一讲
    携手打造【鹏程114 Web查询系统】第二讲
    携手打造【鹏程114 Web查询系统】第三讲
    实现网页转换特殊过渡效果
    网页设计:一种细腻的导航效果的制作方法
    Dreamweaver:制作目录树
    用Dreamweaver实现漫天花雨效果
    用DW MX造站内搜索
    CSS2 参考
    CSS轻松实现色块标题标识
    网页中轻松实现三维字体
    显示你个性的鼠标指针
    | 设为首页 | 加入收藏 | 投搞邮箱 | 友情链接 | 网站公告 | 版权申明 | |
    破天一剑私服 - 冒险岛外挂 - 传奇外挂 - dnf外挂 - 地下城与勇士外挂 - dnf外挂 - 传奇外传外挂 - qq三国外挂 - 天龙八部外挂 - 劲舞团私服 - 劲舞团私服 - 传奇私服 - 传奇私服 - 传奇私服 - 变态传奇私服 - 及时雨外挂 - 热血传奇私服 - 传世私服 - 魔兽世界私服 - 魔兽世界私服 - 完美世界私服

    点击这里给我发消息

    有事点这里

    copyright: 2007-2008 haohao888.com.cn 粤ICP备08105098号