Identificar un bloqueo de un registro en Forms

Quisiera saber si alguien me puede indicar la manera de como saber si un registro está siendo bloqueado por otro usuario, para de esa manera no acceder a el y así ese registro no sería modificado por dos usuarios a la vez.

1 respuesta

Respuesta
1
El comportamiento por defecto de oracle es que los lectores no bloquean a los escritores y viceversa, y sólo una transacción a la vez puede modificar una fila.
Si alguien está modificando la fila que querés modificar, tu update quedará "colgado" hasta que la otra transacción termine. Si te querés asegurar que no pase, podes ahcer un select * from tabla for update wait 2 (nowait). Luego de esto si las filas están "disponibles", se bloquearán hasta que hagas algún commit o rollback.
Si están bloqueadas por alguien, se espera hasta que se libere el bloqueo durante 2 segundos, después de 2 seg genera un error que tendrás que manejar por excepciones. El nowait genera la excepción sin esperar, si la fila está bloqueada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas