+ -
当前位置:首页 → 问答吧 → 求按索引顺序删除数据的思路

求按索引顺序删除数据的思路

时间:2011-09-03

来源:互联网

场景:一个表有数据容量限制,超出容量后需要删除最早的一部分数据,假设表上有id序列主键,按id的顺序删除。
懒得提供测试数据了,给个思路即可,谢谢。
抛块砖先:先select出rowid,然后关联删除。

作者: homeworld80   发布时间: 2011-09-03

假设id是字符型的,全数字
delete from table a where a.rowid in (
select     /*+ first_rows index_asc(a,index_id_name) */   rowid  
from table a
where a.id>'0'  --这里只要总是成立的sql条件并能用上索引字段,最好是升序条件,并且不禁止索引的即可
and     rownum<101 --给定的条数
)

作者: xgghxkhuang   发布时间: 2011-09-03