Собственно да, человек запускает перебор (чтобы более корректно было), но в других местах это вообще не требуется.

Используется конструкция
X++:
while select forupdate ... {}
что само по себе плохо, так как более корректно
X++:
while select
{
ttsbegin;
select forupdate
ttscommit;
}
То есть делаем маленькие транзакции.