IOKELU
Nivel: Avanzado
💡 Prueba transacciones:
Puedes ejecutar cualquier bloque de transacciones en nuestra consola interactiva: Abrir consola SQL →

Transacciones en SQL: control total sobre operaciones críticas

Las transacciones permiten agrupar operaciones para garantizar integridad, consistencia y seguridad. Son esenciales en sistemas bancarios, e‑commerce, contabilidad y cualquier aplicación crítica.

1. ¿Qué es una transacción?

Una transacción es un conjunto de operaciones que se ejecutan como una unidad indivisible.


BEGIN;

UPDATE cuentas SET saldo = saldo - 100 WHERE id = 1;
UPDATE cuentas SET saldo = saldo + 100 WHERE id = 2;

COMMIT;
    

2. Propiedades ACID

3. BEGIN, COMMIT y ROLLBACK


BEGIN;          -- Inicia la transacción
COMMIT;         -- Guarda los cambios
ROLLBACK;       -- Revierte todo
    

4. SAVEPOINT


BEGIN;

UPDATE cuentas SET saldo = saldo - 100 WHERE id = 1;

SAVEPOINT mitad;

UPDATE cuentas SET saldo = saldo + 100 WHERE id = 2;

ROLLBACK TO mitad;

COMMIT;
    

5. Ejemplos prácticos


-- Transferencia bancaria
BEGIN;
UPDATE cuentas SET saldo = saldo - 500 WHERE id = 10;
UPDATE cuentas SET saldo = saldo + 500 WHERE id = 20;
COMMIT;

-- Cancelación de compra
BEGIN;
UPDATE stock SET cantidad = cantidad + 1 WHERE producto_id = 5;
DELETE FROM pedidos WHERE id = 100;
ROLLBACK;
    

6. Ejercicios para practicar

7. Mini‑proyecto: Sistema de pagos seguro


BEGIN;

UPDATE usuarios SET saldo = saldo - 100 WHERE id = 1;
UPDATE vendedores SET saldo = saldo + 100 WHERE id = 50;

COMMIT;
    

8. Errores comunes

9. Preguntas frecuentes

¿Las transacciones afectan el rendimiento?

Sí, pero garantizan integridad.

¿Todas las bases soportan transacciones?

Sí, todas las modernas.


Siguiente guía

SQL Avanzado – Bloqueos y concurrencia →