CommencerCommencer gratuitement

Revenir en arrière avec un savepoint

En reprenant l’exercice précédent, il s’avère que les banques détenant plus de 6 millions \( en MMDA ont deux fois plus de chances de résister lors d’un ralentissement que celles ayant entre 5 et 6 millions \) dans cette même catégorie d’actifs. J’ai commis une erreur dans l’exemple de code, et nous devons revenir au savepoint pour préserver l’intégrité des données.

Cet exercice fait partie du cours

Transactions et gestion des erreurs dans PostgreSQL

Afficher le cours

Instructions

  • Dans une transaction, définissez FIELD48 sur 'MMDA+' lorsque RCON6810 (montant MMDA) est supérieur à 6 millions $.
  • Définissez mmdaplus_flag_set comme savepoint.
  • Définissez FIELD48 sur 'MMDA+' lorsque RCON6810 (montant MMDA) est supérieur à 5 millions $ (c’est une erreur).
  • Annulez jusqu’à mmdaplus_flag_set, terminez la transaction et comptez les enregistrements 'MMDA+'.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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+';
Modifier et exécuter le code