Możesz zablokować rekord, jak opisano w innych odpowiedziach, ale nie zobaczysz żadnego wyjątku podczas aktualizacji tego wiersza.
UPDATE
oświadczenie będzie poczekać, aż blokada zostanie zwolniona , czyli sesja z SELECT ... FOR UPDATE
zobowiązuje. Następnie zostanie wykonana UPDATE.
Jedynym wyjątkiem, którym możesz zarządzać, jest DEADLOCK, tj.
Session1 SELECT FOR UPDATE record A
Session2 SELECT FOR UPDATE record B
Session1 UPDATE record B --- wait as record locked
Session2 UPDATE record A --- deadlock as 1 is waiting on 2 and 2 waiting on 1