MySQL transacciones para aplicaciones con procedimientos almacenados
1. Base de Datos para Aplicaciones
Transacciones ocupando MySQL
Jorge Garcia Mendez
2. Transacciones
Las transacciones sirven para asegurar la consistencia de la información,
asegurando que un conjunto de sentencias se ejecuten correctamente, o no
se ejecuten.
Hay situaciones en las que necesitamos hacer más de una consulta al mismo
tiempo, y todas tienen que ser correctas para que los datos sean consistentes y
tengan sentido, de otro modo tendríamos información “colgada” y desvinculada.
En el mejor de los casos esta información provocaría un desperdicio de espacio
en la base de datos, pero lo más probable es que además lleve a errores a la
hora de mostrarse y de hacer cálculos con ella.
Page 2
3. Ejemplo:
mysql> BEGIN;
mysql> INSERT INTO datos VALUES(h,2,o);
Query OK, 1 row affected (0.04 sec)
Para deshacer los cambios utilize el sig. commando
mysql> ROLLBACK;
Query OK, 0 rows affected (0.06 sec)
Para confirmar el los datos es el comando sig.
mysql> COMMIT
Query OK, 0 rows affected (0.10 sec)
4. Tipos de Errores
Hay distintos tipos de errores y debemos saber identificar que
errores pueden provocar graves daños a nuestro sistema y cuales
podemos hacer que pasen sin que provoquen daño alguno al
sistema.
Por ejemplo hay errores sobre creación o eliminación incorrecta
de base de datos, estos tipos de errores podríamos omitirlos ya
que en las transacciones a realizar no se encuentra el crear o
eliminar bases de datos.
5. Errores y soluciones
HANDLERS
Al trabajar en los procedimientos almacenados, debemos de tomar en cuenta
que durante la ejecución podemos llegar a producir errores.
Para poder llevar un control y evitar estas consecuencias. Podemos definir
handler en nuestros Procedimientos Almacenados
Page 5
6. Handlers
La sentecia del handler
* La sentencia HANDLER proporciona un acceso directo a la interfaz de la tabla.
* La sentencia HANDLER puede especificar valores para las tres columnas en el
índice, o para las columnas más a la izquierda.
* HANDLER ... CLOSE cierra una tabla que fue abierta con HANDLER ... OPEN.
* Declarar el comando Handler especificar un controlador que tiene una o mas
condiciones como SET, se asigna un nombre de la variable varia= 0, se asigna un
valor, o una sentencia compuesta escrito utilizando BEGIN y END.
Page 6
7. Procedimientos Almacenados
Los procedimientos almacenados son de gran utilidad es que da respuesta en cuanto tu
necesites esa información ya se crea y solo la ejecutamos cuando la necesitemos.
pueden permitir que la lógica del negocio se encuentre como un API en la base de datos,
que pueden simplificar la gestión de datos y reducir la necesidad de codificar la lógica en el
resto de los programas
Page 7