PDA

Ver la Versión Completa : dudas sobre transacciones.....


inexperto
18-11-2004, 18:03:06
hola too el foro.......

la verdad de las cosas no entiendo sobre las transacciones, solo se que se usan con tablas innodb (mysql) y delphi.
mis preguntas son simples:
que son ?
como se hacen?
y que efecto tienen si realizo un insert a la tabla x' justo cuando otro cliente visualiza (tabla x' )

bueno capas que mis preguntas sean un poco estupidas pero.....por algo hay que empezar.

chau a todos...............................

marcoszorrilla
18-11-2004, 18:41:14
Sintentizando mucho, imagínate que estas haciendo una factura en la cual implicas:
1.- Grabar unas líneas con los detalles de la compra en la Tabla lineas de factura.
2.- Grabar el total, base, IVA, fecha.. de la factura en la tabla Facturas
3.- Actualizar el almacen es decir restar los productos que hemos vendido.
4.- En la tabla clientes grabar la fecha de la útlima compra.

Si este proceso falla en la mitad, podríamos quedarnos con solamente media factura grabada, sin actualizar el almacen y un sinfín de problemas.

Si todo este proceso Atómico, lo ponemos dentro de una transacción.

Dependiendo del tipo de base de datos que utilices y si ésta admite transacciones o no, lo lógico es que si las admita.

Pues como decía existe una instrucción para hacer que todo se vuelva atrás sino se logra el proceso completo, en el ejemplo que pongo, haríamos un "RollBack", y todos los datos consolidados quedarían anulados como si nunca hubiese exisitido la factura.

En resumen es la capacidad de poder determinar que un conjunto de acciones son un todo y que si alguna de ellas no se puede realizar, tengamos la posibilidad de anular todas.

Un Saludo.

inexperto
18-11-2004, 20:24:31
ya te entiendo ...................tenia la idea de que si actualizabamos una tabla utilizando transaciones se veia raflejada autmaticamente en otro programa cliente (un programa hecho en delphi), es decir:
modifico un registro desde un cliente y esto se ve reflejado automaticamente en un dbgrid de otro programa cliente...no se si me entiendes......bueno ahora tengo una visión mas amplia de esto.....
vale gracias¡¡¡¡¡