oracle:如何在分页中选择更新?

oracle:如何在分页中选择更新?,oracle,oracle11g,pagination,locking,Oracle,Oracle11g,Pagination,Locking,分页时锁定查询的有限结果: select * from Employee order by id asc 作为 如何在分页中选择要更新的行?在这种情况下,您必须使用ROWID with FOR UPDATE子句 尝试: 在这种情况下,必须将ROWID与FOR UPDATE子句一起使用 尝试: 在哪里放置分页偏移?这种方法是否适用于更一般的情况:例如,具有连接和从多个表中选择的From子句?谢谢。例如,在e.Employer_id=r.id上从雇员e内部加入雇主r中选择e.*,r.*,其中r.i

分页时锁定查询的有限结果:

select * from Employee order by id asc
作为


如何在分页中选择要更新的行?

在这种情况下,您必须使用ROWID with FOR UPDATE子句

尝试:


在这种情况下,必须将ROWID与FOR UPDATE子句一起使用

尝试:


在哪里放置分页偏移?这种方法是否适用于更一般的情况:例如,具有连接和从多个表中选择的From子句?谢谢。例如,在e.Employer_id=r.id上从雇员e内部加入雇主r中选择e.*,r.*,其中r.id=100订单按e.id排序,将分页偏移放在哪里?这种方法是否适用于更一般的情况:例如,具有连接和从多个表中选择的From子句?谢谢。例如,从e.Employer_id=r.id上的员工e内部加入雇主r中选择e.*,r.*,其中r.id=100,由e.id asc订购
select * from (select a.*, ROWNUM rnum from 
(select * from Employee order by id asc) a 
where ROWNUM <= 10) where rnum  >= 6 for update
ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
select * from
Employee
where rowid in
(
  select r from
    (select rowid r from
     Employee
     order by id asc
    ) a
    where rownum <= 10
) for update;