Più savepoint
Un’area rischiosa per le banche in un mercato in difficoltà è il numero di depositi a scadenza nei prossimi mesi. È molto probabile che questi depositi vincolati vengano ritirati dal depositante per fare altre mosse finanziarie. RCONHK07 + RCONHK12 contiene quelli in scadenza nei prossimi tre mesi e RCONHK08 + RCONHK13 quelli in scadenza tra 3 e 12 mesi.
Se gli importi totali in queste colonne superano i 10 milioni di dollari, possono pesare sui fondi disponibili per coprire i prelievi e riceverebbero una valutazione negativa. Inoltre, se sono inferiori a 2 milioni di dollari, è dimostrato che rappresentano un fattore positivo.
Questo esercizio fa parte del corso
Transazioni e gestione degli errori in PostgreSQL
Istruzioni dell'esercizio
- All’interno di una transazione imposta
FIELD48amature+se il totale dei depositi in scadenza è inferiore a 2 milioni di dollari e imposta un savepointmatureplus_flag_set. - Imposta
FIELD48amature-se il totale dei depositi in scadenza è compreso tra 2 e 10 milioni di dollari, quindi imposta un savepointmatureminus_flag_set. - Imposta
FIELD48amature--se il totale dei depositi in scadenza è superiore a 10 milioni di dollari. - Conta tutte le banche con una programmazione di scadenza dei depositi positiva.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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+';