Кілька точок збереження (savepoints)
Зона підвищеного ризику для банків під час стресу на ринку — це обсяг строкових депозитів, що незабаром спливають. Імовірність висока, що вкладники знімуть ці депозити, щоб зробити інші фінансові кроки. RCONHK07 + RCONHK12 містять суми, що спливають упродовж наступних трьох місяців, а RCONHK08 + RCONHK13 — ті, що спливають між 3 і 12 місяцями.
Якщо загальні суми в цих стовпцях перевищують $10 мільйонів, це може тиснути на доступні кошти для покриття зняттів і отримає негативну оцінку. Крім того, якщо сума менша за $2 мільйони, це вважається позитивним фактором.
Ця вправа є частиною курсу
Транзакції та обробка помилок у PostgreSQL
Інструкції до вправи
- У рамках транзакції встановіть
FIELD48у значенняmature+, якщо загальна сума депозитів, що спливають, менша за $2 мільйони, і створіть точку збереженняmatureplus_flag_set. - Встановіть
FIELD48уmature-, якщо загальна сума таких депозитів між $2 і $10 мільйонами, а потім створіть точку збереженняmatureminus_flag_set. - Встановіть
FIELD48уmature--, якщо загальна сума таких депозитів перевищує $10 мільйонів. - Порахуйте всі банки з позитивним графіком спливання депозитів.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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+';