Practica3 - Apartado 4

De FdIwiki ABD
Saltar a: navegación, buscar

Apartado 4.

Sesión 1: - actualiza una única fila X de una tabla T - actualiza la fila X de la tabla T con otro valor

UPDATE CLIENTE SET NOMBREC = 'cambio' WHERE TELEFONO = 911111111111

UPDATE CLIENTE SET NOMBREC = 'cambioNuevo' WHERE TELEFONO = 911111111111


Sesión 2: - actualiza una única fila Y de una tabla T - actualiza la fila Y de la tabla T con otro valor

UPDATE CLIENTE SET NOMBREC = 'cambioNuevo' WHERE TELEFONO = 911111111113

UPDATE CLIENTE SET NOMBREC = 'cambio' WHERE TELEFONO = 911111111113


Sesión 1: - actualiza la fila Y de la tabla T con otro valor (qué pasa?, sigue el siguiente paso)

UPDATE CLIENTE SET NOMBREC = 'cambioNuevoDos' WHERE TELEFONO = 911111111113

Se queda bloqueado debido al deadlock.


Sesión 2: - actualiza la fila X de la tabla T con otro valor

UPDATE CLIENTE SET NOMBREC = 'cambioTres' WHERE TELEFONO = 911111111111

Se bloquea (deadlock)


Sesión 1: - commit; - consulta los valores de X e Y

commit;

SELECT * FROM CLIENTE WHERE telefono = 911111111111 OR telefono = 911111111113


DNI NOMBREC DIRECCION TELEFONO 00000001 cambioNuevo direc 11 911111111111 00000003 Client B direc 13 911111111113


Sesión 2: - commit; - consulta los valores de X e Y

commit;

SELECT * FROM CLIENTE WHERE telefono = 911111111111 OR telefono = 911111111113


DNI NOMBREC DIRECCION TELEFONO 00000001 cambioTres direc 11 911111111111 00000003 cambio direc 13 911111111113

'// Edición:

Una forma de "arreglarlo" es realizar un commit antes de las operaciones que puedan afectar a los bloqueos.'