CommencerCommencer gratuitement

Rollbacks multi-instructions

Utilisons maintenant plusieurs instructions dans une transaction pour définir un indicateur dans FIELD48 selon qu’il s’agit d’actifs de gouvernements d’États américains représentés par RCON2203, d’actifs étrangers représentés par RCON2236, ou des deux. Les valeurs de FIELD48 doivent être respectivement 'US-STATE-GOV', 'FOREIGN' ou 'BOTH'. Cependant, vous avez commis une erreur dans l’instruction pour le cas « les deux ».

Cet exercice fait partie du cours

Transactions et gestion des erreurs dans PostgreSQL

Afficher le cours

Instructions

  • Rédigez 3 instructions UPDATE pour détecter chaque condition et définir l’indicateur.
  • Annulez l’erreur qui l’a défini sur 'BOOTH' au lieu de 'BOTH' en annulant la transaction avec un rollback.
  • Sélectionnez un décompte des enregistrements où l’indicateur est défini sur 'BOOTH'.

Exercice interactif pratique

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

-- Begin a new transaction
BEGIN;

-- Update FIELD48 flag status if US State Government deposits are held
UPDATE ffiec_reci
SET ___ = 'US-STATE-GOV'
WHERE RCON2203 > 0;

-- Update FIELD48 flag status if Foreign deposits are held
UPDATE ffiec_reci
SET FIELD48 = '___'
WHERE RCON2236 > 0;

-- Update FIELD48 flag status if US State Government and Foreign deposits are held
UPDATE ffiec_reci
SET FIELD48 = 'BOOTH'
WHERE RCON2236 > 0
AND ___ > 0;

-- Undo the mistake
___; 

-- Select a count of records that are booth (it should be 0)
SELECT COUNT(FIELD48)
FROM ffiec_reci
WHERE ___ = 'BOOTH';
Modifier et exécuter le code