Kom igångKom igång gratis

Savepoints och återställning

Vi fortsätter att titta på mängden tidsbundna insättningar som förfaller inom den närmaste framtiden. De som överstiger 250 000 dollar hade störst påverkan på de utfall som observerades under finanskrisen 2008.

RCONHK12 (>=250k) lagrar insättningar som förfaller inom de närmaste tre månaderna och RCONHK13 (>=250k) lagrar de som förfaller mellan 3 och 12 månader. Om dessa överstiger 1 miljon dollar kan det orsaka en likviditetsbrist i banken, eftersom det rör sig om större kunder som också kan ta ut andra tillgångar. Det finns även en positiv effekt om beloppen understiger 500 000 dollar.

Jag har gjort några misstag i min kod och angett fel värde för de insättningar som överstiger 500 000 dollar!

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

Transaktioner och felhantering i PostgreSQL

Visa kurs

Övningsinstruktioner

  • Sätt FIELD48 till mature+ i en transaktion om de totala förfallande insättningarna understiger 500 000 dollar, och sätt sedan en savepoint matureplus_flag_set.
  • Sätt FIELD48 till mature- om de totala förfallande insättningarna är mellan 500 000 och 1 miljon dollar, och sätt sedan en savepoint matureminus_flag_set.
  • Sätt FIELD48 till mature-- om de totala förfallande insättningarna överstiger 100 000 dollar (inte 1 miljon) – du "råkar" utelämna en 0.
  • Återställ till läget precis efter att mature--posterna sattes, och räkna sedan alla banker med ett mature---schema för insättningsförfall.

Interaktiv övning med praktiskt arbete

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

BEGIN;

-- Update FIELD48 to indicate a positive maturity rathing when less than $500 thousand.
UPDATE ffiec_reci 
SET ___ = '___' 
WHERE RCONHK12 + RCONHK13 < 500000;

-- Set a savepoint
SAVEPOINT ___;

-- Update FIELD48 to indicate a negative maturity rathing when between $500 thousand and $1 million.
UPDATE ffiec_reci 
___ 
WHERE RCONHK12 + RCONHK13 BETWEEN ___ AND ___;

-- Set a savepoint
SAVEPOINT ___;

-- Accidentailly update FIELD48 to indicate a double negative maturity rating when more than 100K
UPDATE ffiec_reci 
SET ___ = '___' 
WHERE RCONHK12 + RCONHK13 > 100000;

-- Rollback to before the last mistake
ROLLBACK TO ___;

-- Select count of records with a double negative indicator
SELECT count(FIELD48) 
from ffiec_reci 
WHERE FIELD48 = 'mature--';
Redigera och kör kod