«

»

Ago 07

Transacciones en #sqlserver

Una transacción es un conjunto de operaciones en código T-SQL que se ejecutan como un único bloque, es decir, si falla una operación fallan todas. Si una transacción funciona, todas las modificaciones de los datos realizadas durante la transacción se confirman . Si una transacción encuentra errores y debe cancelarse o revertirse.

El ejemplo más claro es la transferencia bancaria.

Disponemos de 2 tipos:

  • Transacciones explícitas
    Cada transacción se inicia siempre con la instrucción BEGIN TRANSACTION y  termina con una instrucción COMMIT o ROLLBACK.
  • Transacciones implícitas
    Se inicia  una nueva transacción cuando se ejecuta una instrucción que realiza modificaciones en los datos, pero  se completa explícitamente con una instrucción COMMIT o ROLLBACK.

Podemos anidar varias transacciones. Cuando anidamos varias transacciones la instrucción COMMIT afectará a la última transacción abierta, pero ROLLBACK afectará a todas las transacciones abiertas.

Podemos también puntos de recuperación.

Los puntos de recuperación (SavePoints) permiten manejar las transacciones por pasos, pudiendo hacer rollbacks hasta un punto marcado por el savepoint y no por toda la transacción.

Y ahora a practicar …..

images (1)