Está en la página 1de 3

Ejemplo en mysql

-----------------------------------------------------------CODIGO---------------------------------------------------------mysql> lock table cliente c read;


Query OK, 0 rows affected (0.06 sec)
mysql> select * from cliente;
ERROR 1100 (HY000): Table 'cliente' was not locked with LOCK TABLES
mysql> select * from c;
ERROR 1100 (HY000): Table 'c' was not locked with LOCK TABLES
mysql>
----------------------------------------------------------DESCRIPCION------------------------------------------------EN ESTE MANEJADOR SE UTILIZO UN BLOQUEO DE LECTURA EN LA TABLA CLIENTE CON LA
INSTRUCCION LOCK TABLE CLIENTE C READ LA CUAL FUNCIONO PARA BLOQUEAR CUALQUIER
TIPO DE CONSULTA A LA TABLA CLIENTE CON EL COMANDO SELECT, AL RALIZAR LA CONSULAT
EN EL EJEMPLO NOS GENERO UN ERROR DE LECTURA EL CUAL NOS COMPROBO QUE LA TABLA SE
ENCUENTRA BLOQUEADA.

Ejemplo en Oracle.

-----------------------------------------------CODIGO------------------------------------------------------------------------------------------VENTANA 2--SQL> CONN ESQUEMA2;


Enter password:
Connected.
SQL> LOCK TABLE CATEGORIAS IN EXCLUSIVE MODE;
Table(s) Locked.
----------------------------SQL> COMMIT;
Commit complete.
-----------------------VENTANA 1------------SQL> INSERT INTO CATEGORIAS VALUES (9,VINOS);
----------------------------SQL> INSERT INTO CATEGORIAS VALUES (9,VINOS);
1 row created.
------------------------------------------------DESCRIPCION---------------------------------------------En el manejador Oracle se utiliz un bloqueo exclusivo a la tabla categoras el cual funciona de una
manera que cualquier transaccin que intenta insertar un fila en la tabla bloqueada debe esperar
encolada, hasta que la transaccin que ha bloqueado la tabla termine. Esto se mostro en la
ventana 1 la cual intento insertar un registro con idcategoria=9 pero el bloqueo no dejo realizar
dicha accion hast que se finalizo este bloqueo en la ventana 2 con un commit;

También podría gustarte