oracle每条记录都有一个唯一的物理记录rowid,可以通过rowid作为唯一主键进行删除。
1、首先根据rownum编号
SELECT ROWID,ROWNUM RN FROM 表
2、筛选rn>=10的记录的rowid
SELECT ROWID FROM (SELECT ROWID,ROWNUM RN FROM 表) WHERE RN>=10
3、根据rowid删除第十条以及以后的记录
DELETE FROM 表 where rowid in(SELECT ROWID FROM (SELECT ROWID,ROWNUM RN FROM 表) WHERE RN>=10)
或者
delete from tb_name where rowid not in (select rowid from tb_name where rownum<10)