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

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

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

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ı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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