CommencezCommencez gratuitement

Revenir en arrière avec un point de reprise

En reprenant l'exercice précédent, on constate que les banques ayant plus de 6 M\( en MMDA ont deux fois plus de chances de tenir le coup lors d'un ralentissement que celles ayant entre 5 et 6 M\) dans cette même catégorie d'actifs. J'ai commis une erreur dans l'exemple de code, et nous devons revenir au point de reprise pour préserver l'intégrité des données.

Cette activité fait partie du cours

Transactions et gestion des erreurs dans PostgreSQL

Voir le cours

Instructions de l’exercice

  • Dans une transaction, définissez FIELD48 à 'MMDA+' lorsque RCON6810 (montant MMDA) est supérieur à 6 M$.
  • Établissez mmdaplus_flag_set comme point de reprise (savepoint).
  • Définissez FIELD48 à 'MMDA+' lorsque RCON6810 (montant MMDA) est supérieur à 5 M$ (c'est une erreur).
  • Annulez jusqu'à mmdaplus_flag_set, terminez la transaction, puis comptez les enregistrements 'MMDA+'.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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