Začněte nyníZačněte zdarma

Použití isolation level

Jak bylo ukázáno ve videu, někdy je důležité nastavit isolation level pro konkrétní transakci. K tomu je nejvhodnější použít START TRANSACTION, což je alias pro BEGIN TRANSACTION a jasně signalizuje, že se děje něco specifického. Při spuštění transakce můžeš zadat ISOLATION LEVEL.

Tady použijeme REPEATABLE READ, který nás chrání před dirty reads, nonrepeatable reads a phantom reads. V datech FFEIC představuje RCON2210 pole demand deposits – sleduje všechny aktivní běžné účty, šeky vydané bankou a nezaúčtované kredity. Pro banku mohou být závazkem, pokud by z jakéhokoli důvodu nastala vlna výběrů. Pojďme najít všechny banky s demand deposits přesahujícími 100 000 000 $.

Toto cvičení je součástí kurzu

Transakce a ošetření chyb v PostgreSQL

Zobrazit kurz

Pokyny k cvičení

  • Spusť transakci s repeatable read.
  • Vyber všechny záznamy, kde RCON2210 přesahuje 100 000 000 $ v demand deposits.
  • Vyber všechny záznamy, kde RCON2210 stále přesahuje 100 000 000 $ v demand deposits.
  • Potvrď transakci.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- 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
___;
Upravit a spustit kód