ComeçarComece de graça

Vários savepoints

Uma área de risco para bancos em um mercado estressado é o número de depósitos a prazo que vencem em breve. É bem provável que esses depósitos com prazo sejam sacados para outras movimentações financeiras pelo depositante. RCONHK07 + RCONHK12 guarda os que vencem nos próximos três meses e RCONHK08 + RCONHK13 guarda os que vencem entre 3 e 12 meses.

Se os valores totais nessas colunas forem superiores a US\( 10 milhões, isso pode pressionar os fundos disponíveis para cobrir saques e receberia uma avaliação negativa. Além disso, se houver menos de US\) 2 milhões, isso tem se mostrado um fator positivo.

Este exercício faz parte do curso

Transações e Tratamento de Erros no PostgreSQL

Ver curso

Instruções do exercício

  • Dentro de uma transação, defina FIELD48 como mature+ se o total de depósitos a vencer for menor que US$ 2 milhões e crie um savepoint matureplus_flag_set.
  • Defina FIELD48 como mature- se o total de depósitos a vencer estiver entre US\( 2 milhões e US\) 10 milhões e, em seguida, crie um savepoint matureminus_flag_set.
  • Defina FIELD48 como mature-- se o total de depósitos a vencer for maior que US$ 10 milhões.
  • Conte todos os bancos com uma programação positiva de vencimento de depósitos.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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+';
Editar e executar o código