ComenzarEmpieza gratis

Hacer rollback con un savepoint

Basándote en el ejercicio anterior, resulta que los bancos con más de 6 millones de dólares en MMDAs tienen el doble de probabilidades de resistir una recesión que aquellos con entre 5 y 6 millones en esa misma clase de activo. Aquí he cometido un error en el código de ejemplo y necesitamos hacer rollback al savepoint para mantener la integridad de los datos.

Este ejercicio forma parte del curso

Transacciones y manejo de errores en PostgreSQL

Ver curso

Instrucciones del ejercicio

  • Dentro de una transacción, establece FIELD48 a 'MMDA+' donde RCON6810 (importe de MMDA) sea mayor que 6 millones de dólares.
  • Define mmdaplus_flag_set como savepoint.
  • Establece FIELD48 a 'MMDA+' donde RCON6810 (importe de MMDA) sea mayor que 5 millones de dólares (esto es un error).
  • Deshaz hasta mmdaplus_flag_set, finaliza la transacción y cuenta los registros con 'MMDA+'.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

BEGIN;

-- Set the flag to MMDA+ where the value is greater than $6 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where RCON6810 > 6000000;

-- Set a Savepoint
___ mmdaplus_flag_set;

-- Mistakenly set the flag to MMDA+ where the value is greater than $5 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where ___ > 5000000;

-- Rollback to savepoint
___ TO ___;

COMMIT;

-- Select count of records where the flag is MMDA+
SELECT count(FIELD48) from ffiec_reci where FIELD48 = 'MMDA+';
Editar y ejecutar código