首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

Oracle如何分段取一个无主键的表内容

2013-08-13 
Oracle怎么分段取一个无主键的表内容如题。最好是1000条以内一次这样。[解决办法]不是有rownum么....[解决办

Oracle怎么分段取一个无主键的表内容
如题。最好是1000条以内一次这样。
[解决办法]
不是有rownum么....
[解决办法]
用rowid作主键排序,rownum伪列转成实列
select *
  from (select t.*, rownum row_num
          from t
         order by t.rowid) tt
 where row_num > 1000 and row_num <= 2000;
如果记录没有发生变化的话,取出的值不会有重复。
[解决办法]
rownum 伪列
[解决办法]
select * from (select  t.* from  table_name t where rownum<30 order by f_id) where rownum<10 order by f_id 
取出的是第20-30行数据。
[解决办法]
select * from
(select b.*, rownum rn 
from (select a.owner,a.table_name,a.num_rows 
from all_tables a 
where a.num_rows is not null order by a.num_rows desc)b) c 
where c.rn<=50; 

热点排行