Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Transacciones explcitas
Transacciones implcitas
Una transaccin explcita se define de manera general con una instruccin que marca
su inicio, y dos posibles instrucciones que marcan su final en funcin de si debe tener
xito o debe fracasar en bloque.
Transacciones anidadas.
Podemos anidar varias transacciones. Cuando anidamos varias transacciones la
instruccin COMMIT afectar a la ltima transaccin abierta, pero ROLLBACK afectar
a todas las transacciones abiertas.
A estas propiedades se las suele conocer como propiedades ACID (de sus siglas en
ingls: Atomicity, Consistency, Isolation yDurability).
CONTROL DE UNA TRANSACCIN
Para dirigir el flujo de una transaccin con efectividad y mantener sus propiedades,
existen las siguientes sentencias en SQL. La sintaxis y etiqueta dependen de cada
gestor de bases de datos:
SET IMPLICIT_TRANSACTIONS ON
BEGIN TRY
UPDATE CUENTAS SET FXALTA = FXALTA - 1
PRINT @@TRANCOUNT
COMMIT
END TRY
BEGIN CATCH
ROLLBACK
PRINT 'Error'
END CATCH
Transacciones anidadas.
BEGIN TRAN
UPDATE EMPLEADOS
SET NOMBRE = 'Devjoker'
WHERE ID=101
BEGIN TRAN
UPDATE EMPLEADOS
SET APELLIDO1 = 'Devjoker.COM'
WHERE ID=101
-- Este COMMIT solo afecta a la segunda transaccion.
COMMIT
-- Este ROLLBACK afecta a las dos transacciones.
ROLLBACK