SQL · Sección 18

Transacciones

Unidades de trabajo controladas mediante COMMIT, ROLLBACK y SAVEPOINT.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Acceso y patrones de texto.

02 / META OBSERVABLE

Al terminar deberías poder relacionar COMMIT y ROLLBACK con SAVEPOINT y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.

04 / PREPARA EL LABORATORIO

Las primeras secciones se leen sin instalar nada. Para practicar SQL prepara PostgreSQL o un DBMS equivalente.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan COMMIT y ROLLBACK y SAVEPOINT?

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Controlarás una unidad de trabajo con COMMIT, ROLLBACK y SAVEPOINT para evitar que una operación empresarial quede a medias.

Al terminar podrás
  • Una transacción agrupa cambios que deben tener sentido juntos
  • SAVEPOINT permite deshacer una parte reciente
  • Las transacciones también coordinan usuarios simultáneos
01
Unidad de trabajo

Una transacción agrupa cambios que deben tener sentido juntos

Una transferencia bancaria necesita restar de una cuenta y sumar en otra. Confirmar solo una parte dejaría los datos incoherentes.

01

COMMIT hace permanentes los cambios.

02

ROLLBACK deshace cambios no confirmados.

03

Una nueva transacción comienza después del cierre de la anterior.

Comprueba lo aprendido · 01

¿Qué peligro hay en hacer COMMIT después de cada sentencia de una transferencia?

Mostrar respuesta

Si la segunda sentencia falla, la primera ya no se puede revertir y el dinero quedaría descontado sin acreditarse.

02
Puntos de retorno

SAVEPOINT permite deshacer una parte reciente

Un punto de guardado marca una posición dentro de la transacción. ROLLBACK TO vuelve a ese punto sin descartar necesariamente todo lo anterior.

01

SAVEPOINT no confirma cambios.

02

ROLLBACK TO conserva trabajo anterior al punto.

03

COMMIT elimina los puntos de esa transacción.

Comprueba lo aprendido · 02

¿SAVEPOINT vuelve permanentes los dos primeros lotes?

Mostrar respuesta

No. Solo establece un punto de retorno; aún se necesita COMMIT para confirmar.

03
Concurrencia

Las transacciones también coordinan usuarios simultáneos

Mientras una transacción modifica filas puede mantener bloqueos. Conviene que sea breve y que su límite coincida con una operación completa del negocio.

01

No esperes interacción humana con bloqueos abiertos.

02

Maneja errores antes de confirmar.

03

Verifica el resultado y luego cierra la transacción.

Comprueba lo aprendido · 03

¿Por qué una transacción muy larga puede perjudicar a otros usuarios?

Mostrar respuesta

Porque mantiene recursos y bloqueos durante más tiempo, aumentando esperas y conflictos.

Resumen de la sección

Tu recorrido en tres ideas

  1. Una transacción agrupa cambios que deben tener sentido juntos
  2. SAVEPOINT permite deshacer una parte reciente
  3. Las transacciones también coordinan usuarios simultáneos
CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Mantener una transacción abierta mientras se espera interacción humana.

ERROR 02

Creer que SAVEPOINT vuelve permanentes los cambios anteriores.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Modela una transferencia entre dos saldos que deba completarse entera o no ocurrir.

Mostrar pauta de corrección
Una respuesta sólida:
  • Ambas actualizaciones están en una unidad atómica.
  • Verifica saldo y filas afectadas antes de confirmar.
  • Maneja errores con ROLLBACK y limita el tiempo de bloqueo.