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

Kaydetme noktasıyla geri alma

Önceki egzersizin üzerine ekleyerek, MMDAsı $6 milyonun üzerinde olan bankaların, aynı varlık sınıfında $5–6 milyon arasında olanlara kıyasla durgunluk sırasında ayakta kalma olasılığının iki kat daha fazla olduğu ortaya çıktı. Buradaki örnek kodda bir hata yaptım ve veri bütünlüğünü korumak için kaydetme noktasına geri dönmemiz gerekiyor.

Bu egzersiz, kursun bir parçasıdır

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

Kursa Göz Atın

Egzersiz talimatları

  • Bir işlem (transaction) içinde, RCON6810 (MMDA tutarı) $6 milyondan büyük olan yerlerde FIELD48 değerini 'MMDA+' olarak ayarla.
  • mmdaplus_flag_set adında bir kaydetme noktası (savepoint) oluştur.
  • RCON6810 (MMDA tutarı) $5 milyondan büyük olan yerlerde FIELD48 değerini 'MMDA+' olarak ayarla (bu bir hata).
  • mmdaplus_flag_set noktasına geri al (undo), işlemi bitir ve 'MMDA+' kayıtlarını say.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

BEGIN;

-- Set the flag to MMDA+ where the value is greater than $6 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where RCON6810 > 6000000;

-- Set a Savepoint
___ mmdaplus_flag_set;

-- Mistakenly set the flag to MMDA+ where the value is greater than $5 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where ___ > 5000000;

-- Rollback to savepoint
___ TO ___;

COMMIT;

-- Select count of records where the flag is MMDA+
SELECT count(FIELD48) from ffiec_reci where FIELD48 = 'MMDA+';
Kodu Düzenle ve Çalıştır