Yalıtım seviyeleri ve işlemler
SERIALIZABLE, ilk sorgu veya güncelleme ifadesi çalıştırıldığında kaydın bir anlık görüntüsünü alan ve işlem dışında veriler herhangi bir şekilde değişirse hata veren bir yalıtım seviyesidir. Unutma, ilk sorgudan önce işlem değişken tanımlamak gibi başka işler de yapabilir.
FFIEC veri kümesini yine kullanarak yıllık tasarruf mevduatı değişimi RCON0352 büyük bir ofsetten etkilendiğinde verilerle çalışacaksın.
Bu egzersiz
PostgreSQL'de İşlemler (Transaction) ve Hata Yönetimi
kursunun bir parçasıdırEgzersiz talimatları
- Bir işlemi
SERIALIZABLEkipinde başlat. RCON0352değeri 100.000’den büyük olan tüm kayıtlarda yüzde 50 azaltma olacak şekilde güncelle.- İşlemi
COMMITet. RCON0352hâlâ 100.000’den büyük olan kayıtların sayısını seç.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
-- Create a new transaction with a serializiable isolation level
___ TRANSACTION ISOLATION LEVEL ___;
-- Update records with a 50% reduction if greater than 100000
___ ffiec_reci
SET ___ = ___ * 0.5
WHERE RCON0352 > 100000;
-- Commit the transaction
___;
-- Select a count of records still over 100000
SELECT ___(RCON0352)
FROM ___
WHERE RCON0352 > 100000;