oracle+php??求助

cherd 2000-09-18 05:42:00
如果我在oracle中搜索,结果有10000纪录,而我想显示第9990-9999条纪录,
现在的办法好像只有将所有记录选出来,一条条fetch到9990,然后开始显示,
这样当记录大小超过暂时表空间容量的极限时就会报错,而且也耽误时间,不知道
有什么其他的方法可以直接定位查询结果的,就像Mysql中的limit功能一样?
希望高手指点!!
...全文
211 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tibet 2000-10-31
  • 打赏
  • 举报
回复
xbt,你能告诉我那个网址吗?
xbt 2000-09-25
  • 打赏
  • 举报
回复
这个方法我是从一个网站上看到的,不是我的独创,呵呵.关于Oracle方面的书,我也很苦恼呀.
cherd 2000-09-24
  • 打赏
  • 举报
回复
谢谢xbt,
不知道能否向我推荐几本oracle方面的好书,如果有电子文档,能否寄给我
(不知道这种方法你是如何知道的,呵呵)
谢谢。
chinawxd 2000-09-22
  • 打赏
  • 举报
回复
关注!
flyby 2000-09-22
  • 打赏
  • 举报
回复
Xbt,真是个好办法
我没测试过
我想知道这种方法的速度怎么样
如果好
我就该我的程序了
我们的网站也有类似的查询
xbt 2000-09-22
  • 打赏
  • 举报
回复
在oracle中限制返回结果集的大小
Oracle不支持类似于 MySQL 中的 limit. 但你还是可以rownum来限制返回的结果集的行数.
如果你只希望返回前十行纪录,你可以这样写:
SELECT * FROM table WHERE ROWNUM<10;

但是下面的语句是不对的:

SELECT * FROM table WHERE ROWNUM>90 AND ROWNUM<100;

这是因为 Oracle 认为这个条件不成立,所以没有返回。
你应该这样写:

SELECT * FROM table WHERE ROWNUM<101;
minus
SELECT * FROM table WHERE ROWNUM<91;
flyby 2000-09-21
  • 打赏
  • 举报
回复
放到数组里,想取那一条就取那一条
肯定会比fetch来得快
oracle没提供跳转函数 你想怎么办?
我再问你
oracle提供的Ora_FetchInto($curs, &$ary)目的是干什么呢?
cherd 2000-09-21
  • 打赏
  • 举报
回复
不会让我将数据放入数组里吧,
这个……这个……好像不是很高明的解决方法
flyby 2000-09-21
  • 打赏
  • 举报
回复
有两个函数为:
ora_numcols($curs);(取得字段的数目)
Ora_FetchInto($curs, &$ary);(取回 Oracle 资料放入数组)
你应该明白我的意思了吧!!!
不明白我再告诉你。

cherd 2000-09-20
  • 打赏
  • 举报
回复
谁对oracle比较了解,如果没有办法实现,直接告诉我也好

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧