bloqueos de fila proporcionan protección contra manipulaciones mesa contenciosos . Por ejemplo , puede que no quiera a los usuarios insertar nuevos registros en una tabla mientras se recuperan filas de la tabla . Los bloqueos de fila indican al base de datos para mantenerse a distancia de la inserción de nuevas filas , mientras que los registros de la tabla se recuperan . Después de que el proceso de recuperación , inserta la base de datos de los registros . MySQL, una base de datos de código abierto, tiene la opción de aplicar bloqueos de tabla dentro de los procedimientos almacenados . Instrucciones
1
Bloquee sus filas de la tabla . Puede bloquear por "escrito" o " lectura ". En este ejemplo , se crea un bloqueo en la tabla , por lo que los usuarios no puedan escribir en la tabla . Cerraduras escritura incluyen la edición y la inserción en la tabla . El código siguiente muestra cómo bloquear registros en la tabla:
bloqueo tablas de escritura del cliente, TempTable escribir ;
El código de seguridad bloquea las filas en la tabla de clientes . Cualquier consulta sobre la tabla se guardan en la tabla " TempTable " .
2
llevar a cabo sus declaraciones leídas en la mesa. Dado que la tabla se bloquea en los estados de escritura , aún puede recuperar información de la tabla . El siguiente código es una simple instrucción de selección se puede utilizar en la mesa mientras está bloqueado :
select * from clientes
3
Inserte los registros guardados en la tabla temporal . Después de sus funciones de tabla están terminados , los valores mantenidos en la tabla temporal se transportan a la tabla de clientes . El código siguiente muestra cómo mover la información de la tabla temporal :
insert into cliente select * from TempTable ;
4
eliminar registros de la tabla temporal y liberar los bloqueos. Después de que los bloqueos se liberan , la mesa funciona normalmente y permite que toda lectura y escritura transacciones. El código siguiente elimina los valores de tablas temporales y abre la tabla customer :
eliminar de TempTable ; tablas de desbloqueo ;