不用存储过程。
delet不能跟order by连用。

解决方案 »

  1.   

    利用子查询:delete from (select * from (select * from tab where tab.name = ? order by id) a where rownum = ?))
      

  2.   

    --例如,删除emp表中,薪水最少的5条记录,(下面用in,当然也可用exists)
    DELETE FROM emp t
     WHERE empno IN (SELECT empno FROM (SELECT * FROM emp ORDER BY sal) WHERE rownum <= 5);
      

  3.   

    order by rowid
     rowid in(select rowid from ....)怎么不能执行
      

  4.   

    delete from emps where rowid in (
     select rd from (select rowid rd from emps order by salary) where rownum<=10);