spróbuj:
select .....
from <choose your table>
where id in (<your join query here>) for UPDATE;
EDYTUJ :może się to wydawać nieco sprzeczne z intuicją, biorąc pod uwagę pytanie, do którego się połączyłeś (które pytało, jak obejść się bez IN ), ale nadal może przynosić korzyści, jeśli przyłączenie zwraca zestaw z ograniczeniami. Jednak nie ma obejścia:wyjątek wyroczni jest dość oczywisty; Oracle nie wie, które wiersze zablokować z powodu DISTINCT . Możesz pominąć DISTINCT lub zdefiniuj wszystko w widoku, a następnie zaktualizuj to, jeśli chcesz, bez wyraźnej blokady: https://www.dba-oracle.com/t_ora_02014_cannot_select_for_update.htm