LoslegenKostenlos loslegen

Ein Isolation Level verwenden

Wie im Video gezeigt, ist es manchmal wichtig, für eine einzelne Transaktion ein Isolation Level festzulegen. Am besten nutzt du dafür START TRANSACTION (ein Alias von BEGIN TRANSACTION), um klarzumachen, dass hier etwas anders ist. Du kannst beim Start der Transaktion ein ISOLATION LEVEL angeben.

Hier verwenden wir REPEATABLE READ, das uns vor Dirty Reads, Nonrepeatable Reads und Phantom Reads schützt. In den FFEIC-Daten ist RCON2210 das Feld für Sichteinlagen (demand deposits) und erfasst alle offenen Girokonten, bankeigenen Schecks und noch nicht gebuchten Gutschriften. Das kann für eine Bank zur Verbindlichkeit werden, wenn es aus irgendeinem Grund zu einem plötzlichen Mittelabzug kommt. Finde alle Banken mit mehr als $100,000,000 an Sichteinlagen.

Diese Übung ist Teil des Kurses

Transaktionen und Fehlerbehandlung in PostgreSQL

Kurs anzeigen

Anleitung zur Übung

  • Starte eine Transaktion mit Repeatable Read.
  • Wähle alle Datensätze aus, bei denen RCON2210 bei den Sichteinlagen über $100,000,000 liegt.
  • Wähle erneut alle Datensätze aus, bei denen RCON2210 weiterhin über $100,000,000 liegt.
  • Führe ein Commit der Transaktion durch.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

-- 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
___;
Code bearbeiten und ausführen