oracle数据库如何随机提取13表数据

oracle数据库如何随机提取13表数据,第1张

1、Oracle访问数据的基本方法: 1)、全表扫描(Full table Scan):执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件。 Oracle顺序的读分配给该表的每一个数据块,且每个数据块Oracle只读一次. 这样全表扫描能够受益于多块读. 2)、采样表扫描(sample table scan):扫描返回表中随机采样数据,这种访问方式需要在FROM语句中包含SAMPLE选项或者SAMPLE BLOCK选项. 注:从Oracle8i开始Oracle提供采样表扫描特性

rowid记录了oracle数据库中每条记录的物理地址

是有先后顺序之分的

根据rowid排序后的结果的伪列rownum来定位你需要的下一条记录

比如:

with temp as (

select col,rownum as rn

form (select col from table_name order by rowid) a

)

select t.*,p.*

from temp t

left join temp p

where t.col='ABC'

and t.rn=p.rn-1

你是做JAVA开发的吧

你可以在表中增加一个字段来表示是否已经取出数据做过分页,然后用rownum来限制就可以了。

eg:增加一个flag字段,如果未分页的置为0,已分页处理的置为1,假如你想按照3行分页,就可以这样了:

SELECT * FROM TEST_c

WHERE c.flag=0

ROWNUM<=3


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10828324.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存