ÎncepețiÎncepe gratuit

Folosirea unui nivel de izolare

După cum ai văzut în videoclip, uneori este important să poți selecta un nivel de izolare pentru o tranzacție individuală. Cel mai bine este să folosești START TRANSACTION în acest scop – acesta este un alias al lui BEGIN TRANSACTION, care indică mai clar că ceva este diferit. Poți specifica un ISOLATION LEVEL atunci când pornești tranzacția.

Aici vom folosi REPEATABLE READ, care ne protejează de citiri murdare, citiri nerepetabile și citiri fantomă. În datele FFEIC, RCON2210 reprezintă câmpul depozitelor la vedere și urmărește toate conturile curente active, cecurile emise de bancă și creditele neînregistrate. Acestea pot reprezenta un pasiv pentru o bancă în cazul unui retrageri masive de fonduri. Să găsim toate băncile cu peste $100.000.000 în depozite la vedere.

Acest exercițiu face parte din cursul

Tranzacții și gestionarea erorilor în PostgreSQL

Vezi cursul

Instrucțiuni pentru exercițiu

  • Pornește o tranzacție cu repeatable read.
  • Selectează toate înregistrările cu RCON2210 peste $100.000.000 în depozite la vedere.
  • Selectează din nou toate înregistrările cu RCON2210 încă peste $100.000.000 în depozite la vedere.
  • Confirmă tranzacția cu commit.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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
___;
Editează și rulează codul