Kom igångKom igång gratis

Använda en isolationsnivå

Som visades i videon är det ibland viktigt att kunna välja en isolationsnivå för en enskild transaktion. Det är bäst att använda START TRANSACTION för detta – ett alias för BEGIN TRANSACTION – för att tydliggöra att något är annorlunda. Du kan ange ett ISOLATION LEVEL när du startar transaktionen.

Här ska vi använda REPEATABLE READ, som skyddar mot dirty reads, nonrepeatable reads och phantom reads. I FFEIC-data är RCON2210 fältet för avistainlättningar (demand deposits) och spårar alla utestående checkkonton, bankutfärdade checkar och oregistrerade krediter. De kan utgöra en risk för en bank om det skulle uppstå ett plötsligt uttag av medel. Låt oss hitta alla banker med över $100 000 000 i avistainlättningar.

Den här övningen är en del av kursen

Transaktioner och felhantering i PostgreSQL

Visa kurs

Övningsinstruktioner

  • Starta en transaktion med repeatable read.
  • Välj alla poster där RCON2210 överstiger $100 000 000 i avistainlättningar.
  • Välj alla poster där RCON2210 fortfarande överstiger $100 000 000 i avistainlättningar.
  • Genomför transaktionen med commit.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- 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
___;
Redigera och kör kod