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ırEgzersiz talimatları
- Bir işlem (transaction) içinde,
RCON6810(MMDA tutarı) $6 milyondan büyük olan yerlerdeFIELD48değerini'MMDA+'olarak ayarla. mmdaplus_flag_setadında bir kaydetme noktası (savepoint) oluştur.RCON6810(MMDA tutarı) $5 milyondan büyük olan yerlerdeFIELD48değerini'MMDA+'olarak ayarla (bu bir hata).mmdaplus_flag_setnoktası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+';