IniziaInizia gratis

Uso di un livello di isolamento

Come visto nel video, a volte è importante poter scegliere un livello di isolamento per una singola transazione. Per farlo, è meglio usare START TRANSACTION (alias di BEGIN TRANSACTION) così è chiaro che c’è qualcosa di diverso. Puoi specificare un ISOLATION LEVEL quando avvii la transazione.

Qui useremo REPEATABLE READ, che ci protegge da dirty read, nonrepeatable read e phantom read. Nei dati FFEIC, RCON2210 è il campo dei demand deposits e tiene traccia di tutti i conti correnti aperti, gli assegni emessi dalla banca e i crediti non registrati. Possono rappresentare una passività per una banca in caso di corsa agli sportelli per qualsiasi motivo. Troviamo tutte le banche con oltre $100,000,000 di demand deposits.

Questo esercizio fa parte del corso

Transazioni e gestione degli errori in PostgreSQL

Visualizza il corso

Istruzioni dell'esercizio

  • Avvia una transazione con repeatable read.
  • Seleziona tutti i record con RCON2210 superiore a $100,000,000 nei demand deposits.
  • Seleziona tutti i record con RCON2210 ancora superiore a $100,000,000 nei demand deposits.
  • Esegui il commit della transazione.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

-- 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
___;
Modifica ed esegui il codice