Kom igångKom igång gratis

Rulla tillbaka med en savepoint

Med utgångspunkt i föregående övning visar det sig att banker med mer än 6 miljoner dollar i MMDA är dubbelt så sannolika att klara en nedgång jämfört med dem som har mellan 5 och 6 miljoner dollar i samma tillgångsklass. Här har ett misstag gjorts i exempelkoden, och vi behöver rulla tillbaka till savepoint för att bevara dataintegriteteten.

Den här övningen är en del av kursen

Transaktioner och felhantering i PostgreSQL

Visa kurs

Övningsinstruktioner

  • Sätt FIELD48 till 'MMDA+' inuti en transaktion där RCON6810 (MMDA-beloppet) är större än 6 miljoner dollar.
  • Sätt mmdaplus_flag_set som en savepoint.
  • Sätt FIELD48 till 'MMDA+' där RCON6810 (MMDA-beloppet) är större än 5 miljoner dollar (detta är ett misstag).
  • Rulla tillbaka till mmdaplus_flag_set, avsluta transaktionen och räkna 'MMDA+'-posterna.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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+';
Redigera och kör kod