Zacznij terazZacznij za darmo

Wycofywanie zmian z użyciem punktu zapisu

Nawiązując do poprzedniego ćwiczenia – okazuje się, że banki z ponad 6 milionami dolarów w MMDA mają dwukrotnie większe szanse na przetrwanie spowolnienia gospodarczego niż te z kwotą między 5 a 6 milionami w tej samej klasie aktywów. W przykładowym kodzie pojawił się błąd – trzeba wycofać zmiany do punktu zapisu, aby zachować integralność danych.

To ćwiczenie jest częścią kursu

Transakcje i obsługa błędów w PostgreSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • W ramach transakcji ustaw FIELD48 na 'MMDA+' tam, gdzie RCON6810 (kwota MMDA) jest większa niż 6 milionów dolarów.
  • Ustaw mmdaplus_flag_set jako punkt zapisu.
  • Ustaw FIELD48 na 'MMDA+' tam, gdzie RCON6810 (kwota MMDA) jest większa niż 5 milionów dolarów (to jest błąd).
  • Wycofaj zmiany do mmdaplus_flag_set, zakończ transakcję i zlicz rekordy 'MMDA+'.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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+';
Edytuj i uruchom kod