这个没有好的办法,就是嵌套层表。大巧若拙,笨方法就是好方法: update t_order set status='3' where id in ( select t.id from ( select id from t_order where status='9' order by create_date desc ) t where rownum < 500 ) 解决大批量数据的update问题 例如有100万条数据要进行更新。 直接一个sql不但慢,而且覆盖面太大,数据库容易崩掉。 执行过程的每一条,都提心吊胆。 可以用上述sql每次执行5万条,3秒左右就能完毕。 多执行几次即可。