这个没有好的办法,就是嵌套层表。大巧若拙,笨方法就是好方法:
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秒左右就能完毕。 多执行几次即可。