CommencerCommencer gratuitement

Utiliser un niveau d’isolation

Comme vu dans la vidéo, il est parfois important de pouvoir choisir un niveau d’isolation pour une transaction individuelle. Il est préférable d’utiliser START TRANSACTION (un alias de BEGIN TRANSACTION) pour bien signaler qu’il y a un comportement particulier. Vous pouvez préciser un ISOLATION LEVEL lors du démarrage de la transaction.

Ici, nous allons utiliser REPEATABLE READ, qui nous protège des lectures sales (dirty reads), des lectures non répétables et des lectures fantômes. Dans les données de la FFEIC, RCON2210 correspond au champ des dépôts à vue et suit l’ensemble des comptes chèques en cours, des chèques émis par la banque et des crédits non comptabilisés. Ils peuvent représenter un passif pour une banque en cas de ruée sur les fonds, quelle qu’en soit la raison. Trouvons toutes les banques dont les dépôts à vue dépassent 100 000 000 $.

Cet exercice fait partie du cours

Transactions et gestion des erreurs dans PostgreSQL

Afficher le cours

Instructions

  • Démarrez une transaction avec repeatable read.
  • Sélectionnez tous les enregistrements où RCON2210 dépasse 100 000 000 $ de dépôts à vue.
  • Sélectionnez tous les enregistrements où RCON2210 dépasse toujours 100 000 000 $ de dépôts à vue.
  • Validez la transaction avec COMMIT.

Exercice interactif pratique

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

-- Create a new transaction with an isolation level of repeatable read
___ TRANSACTION ___ LEVEL ___ ___;

-- Count of records over 100000000
SELECT ___(RCON2210)
FROM ffiec_reci
WHERE ___ > ___;

-- Count of records still over 100000000
SELECT ___(RCON2210)
FROM ffiec_reci
WHERE ___ > ___;

-- Commit the transaction
___;
Modifier et exécuter le code