Como seguramente sabes, en Firebird el correcto entendimiento de las transacciones es extremadamente importante y si no las entiendes bien el resultado será predecible: harás mal tus tareas.
No hay alternativa.
O entiendes como funcionan las transacciones en Firebird o no entiendes. Y si no entiendes, tendrás problemas.
Así que aquí hay un pequeño examen para que puedas autoevaluarte y verificar si entiendes o no como funcionan las transacciones en Firebird.
Pregunta 1. Una transacción realizó tres inserciones. El tercer INSERT elevó una excepción. ¿Es posible finalizar esa transacción con un COMMIT exitoso?
[Sí] [No]
Pregunta 2. La tabla MiTabla tiene 10 filas. Simultáneamente 3 transacciones se iniciaron y cada transacción insertó una fila en MiTabla. En la tercera transacción se escribió:
Listado 1.
SELECT COUNT(*) FROM MiTabla
¿Cuál será el resultado mostrado?
[10] [11] [12] [13]
Pregunta 3. Tenemos un generador cuyo nombre es MiGenerador y su valor es 10. Dos transacciones, T1 y T2, se están ejecutando simultáneamente. En la transacción T1 ejecutamos: GEN_ID(MiGenerador, 1) y en la transacción T2 ejecutamos: GEN_ID(MiGenerador, 1)
La transacción T1 finalizó con un COMMIT y la transacción T2 finalizó con un ROLLBACK. ¿Cuál es el valor de MiGenerador después de eso?
[10] [11] [12]
Artículos relacionados:
Comentarios recientes