BaşlayınÜcretsiz Başlayın

Savepoint'in izolasyon seviyelerine etkisi

Artık savepoint'leri keşfettiğine göre, hepsinin verinin aynı başlangıç anlık görüntüsüyle çalışması gereken bir dizi işlemi kurmak için onları kullanalım. REPEATABLE READ, işlem içindeki her ifadeye, önceki ifade(ler)in sonucundaki veriler yerine, ilk ifadenin üzerinde çalıştığı aynı veriyi verme olanağı sağlayan bir izolasyon seviyesidir.

Kısa süre önce, veri kümesinde yabancı mevduatların kademeli kısıtlanmasına (bin dolar cinsinden RCON2203 alanı) FFEIC tarafından izin verildi. Yeni kısıtlama; 1 milyar \('dan fazlası için %35, 500 milyon \)'dan fazlası için %25 ve 300 milyon $'dan fazlası için %13’tür. Bu ifadeleri veriyi birden fazla kez azaltmaktan kaçınacak şekilde sıralamak mümkündür. Ancak, REPEATABLE READ ile ifadeler, herhangi bir ayarlama yapılmadan önceki veriyi görür.

Bu egzersiz

PostgreSQL'de İşlemler (Transaction) ve Hata Yönetimi

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • REPEATABLE READ işlemi başlat.
  • RCON2203 değerini, 1 milyar \('dan fazlaysa %35, 500 milyon \)'dan fazlaysa %25 veya 300 milyon $'dan fazlaysa %13 azalt ve her adımın ardından bir SAVEPOINT oluştur.
  • İşlemi kapat.
  • RCON2203 alanını topla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

-- Create a new transaction with a repeatable read isolation level
___ TRANSACTION ISOLATION LEVEL ___ ___;

-- Update records with a 35% reduction if greater than 1000000000
UPDATE ffiec_reci 
SET ___ = CAST(___ AS FLOAT) * .65 
WHERE CAST(RCON2203 AS FLOAT) > 1000000000;

___ million;

-- Update records with a 25% reduction if greater than 500000000
UPDATE ___ 
___ ___ = CAST(___ AS FLOAT) * .75 
___ CAST(RCON2203 AS FLOAT) ___ 500000000;

SAVEPOINT five_hundred;

-- Update records with a 13% reduction if greater than 300000000
___ ffiec_reci 
___ ___ = CAST(___ AS FLOAT) * .87 
___ CAST(___ AS FLOAT) ___ 300000000;

SAVEPOINT three_hundred;

-- Commit the transaction
___;

-- Select SUM the RCON2203 field
SELECT ___(CAST(RCON2203 AS FLOAT)) 
FROM ffiec_reci 
Kodu Düzenle ve Çalıştır