IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • All’interno di una transazione imposta FIELD48 a mature+ se il totale dei depositi in scadenza è inferiore a 2 milioni di dollari e imposta un savepoint matureplus_flag_set.
  • Imposta FIELD48 a mature- se il totale dei depositi in scadenza è compreso tra 2 e 10 milioni di dollari, quindi imposta un savepoint matureminus_flag_set.
  • Imposta FIELD48 a mature-- 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+';
Modifica ed esegui il codice