I want to lock a group of records using the following query:
select *
from (select *
from event_table
where status = 'S'
order by creation_data asc
)
where rownum <=10
for update;
event_table is not a view. It is a regular table:
create table event_table
(
id number,
creation_date date,
status number,
info clob
);
The primary key is the field id.
Can I use rownum
with select for update
at all?
Is there another solution where using select for update
but also selecting just a group of rows and not all the results from the select?
For example, I have a task that runs every X internal and needs to use select for update
for that table, but if the select returns 500 rows, I just want to handle 100 of them each time (kind of paging). That is why I tried rownum
for that.
Thanks.
Does this work?: