Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   dudas sobre transacciones..... (https://www.clubdelphi.com/foros/showthread.php?t=16183)

inexperto 18-11-2004 18:03:06

dudas sobre transacciones.....
 
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¡¡¡¡¡


La franja horaria es GMT +2. Ahora son las 01:46:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi