我已经看到很多关于在 Oracle 中使用 rownum 或排名分析函数进行分页的答案。但是,我特别想对这些分页结果应用锁定。问题在于,由于 Oracle 中的大多数分页黑客都使用内联视图,因此应用for update
是非法的。
那么有没有办法同时执行两者,最好是在同一个 SQL 语句中?
我们现在尝试的一个例子......
select *
from (
select ...
from t
where ...
order by ...
)
where rownum <= ?
for update
我们得到的错误是ORA-02014:, cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.