Flera savepoints
Ett riskabelt område för banker i en ansträngd marknad är antalet tidsbundna insättningar som förfaller inom den närmaste framtiden. Det är mycket troligt att dessa insättningar tas ut för att finansiera andra ekonomiska rörelser. RCONHK07 + RCONHK12 innehåller insättningar som förfaller inom tre månader och RCONHK08 + RCONHK13 innehåller de som förfaller mellan 3 och 12 månader.
Om de totala beloppen i dessa kolumner överstiger 10 miljoner dollar kan det belasta tillgängliga medel för att täcka uttag och leder till ett negativt betyg. Om beloppet däremot understiger 2 miljoner dollar har det visat sig vara en positiv faktor.
Den här övningen är en del av kursen
Transaktioner och felhantering i PostgreSQL
Övningsinstruktioner
- Sätt
FIELD48tillmature+inom en transaktion om de totala förfallande insättningarna understiger 2 miljoner dollar, och sätt sedan en savepoint med namnetmatureplus_flag_set. - Sätt
FIELD48tillmature-om de totala förfallande insättningarna ligger mellan 2 miljoner och 10 miljoner dollar, och sätt sedan en savepoint med namnetmatureminus_flag_set. - Sätt
FIELD48tillmature--om de totala förfallande insättningarna överstiger 10 miljoner dollar. - Räkna alla banker med ett positivt förfallomönster för insättningar.
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 $2 million of maturing deposits.
UPDATE ffiec_reci
SET ___ = '___'
WHERE RCONHK07 + RCONHK12 + RCONHK08 + RCONHK13 < 2000000;
-- Set a savepoint
SAVEPOINT ___;
-- Update FIELD48 to indicate a negative maturity rathing when between $2 and $10 million
UPDATE ffiec_reci
SET ___ = '___'
WHERE RCONHK07 + RCONHK12 + RCONHK08 + RCONHK13 BETWEEN 2000000 AND 10000000;
-- Set a savepoint
SAVEPOINT ___;
-- Update FIELD48 to indicate a double negative maturity rathing when more than $10 million
UPDATE ffiec_reci
SET ___ = '___'
WHERE RCONHK07 + RCONHK12 + RCONHK08 + RCONHK13 > ___;
COMMIT;
-- Count the records where FIELD48 is a positive indicator
SELECT count(FIELD48)
FROM ffiec_reci
WHERE FIELD48 = 'mature+';