sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo puedo bloquear una sola fila en Oracle SQL?

Puede bloquear el registro como se describe en otras respuestas, pero no verá ninguna excepción mientras ACTUALIZA esta fila.

La UPDATE declaración esperará hasta que se libere el bloqueo , es decir, la sesión con SELECT ... FOR UPDATE se compromete Después de eso, se realizará la ACTUALIZACIÓN.

La única excepción que puede administrar es DEADLOCK, es decir,

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