JDS, есть таблица, из нее выбирается часть строк по определенному признаку.
этот признак меняется в триггере, т.е.по мере работы юзера.
поэтому перед началом обработки в процедуре идет блокировка отобранных по этому признаку записей
(select for update), затем их обработка туда/сюда и в конце сброс признака в null.
вообще моя проблема в том и состоит, что я не очень понимаю, как правильно использовать блокировку по
select for update.
сейчас пихаю в курсор и потом построчно сбрасываю поле-признак
declare
CURSOR cData IS
select t.mark, t.apid, t.apname
from table1 t
where t.mark=1
for update;
rData cData%ROWTYPE;
begin
OPEN cData;
LOOP
FETCH cData INTO rData;
EXIT WHEN cData%NOTFOUND;
/*тут обработка*/
update table1
set mark=null
where apid=rData.apid;
END LOOP;
CLOSE cData;
end;