เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

หลาย Savepoint

ในช่วงตลาดที่ผันผวน ปัจจัยเสี่ยงสำคัญสำหรับธนาคารคือจำนวนเงินฝากประจำที่กำลังจะครบกำหนดในอนาคตอันใกล้ เนื่องจากมีแนวโน้มสูงที่ผู้ฝากจะถอนเงินเพื่อนำไปลงทุนในรูปแบบอื่น โดย RCONHK07 + RCONHK12 เก็บยอดเงินฝากที่ครบกำหนดในอีก 3 เดือนข้างหน้า และ RCONHK08 + RCONHK13 เก็บยอดที่ครบกำหนดระหว่าง 3 ถึง 12 เดือน

หากยอดรวมในคอลัมน์เหล่านี้สูงกว่า 10 ล้านดอลลาร์ อาจส่งผลกระทบต่อสภาพคล่องในการรองรับการถอนเงิน และจะได้รับการจัดอันดับในเชิงลบ ในทางกลับกัน หากยอดรวมต่ำกว่า 2 ล้านดอลลาร์ ถือเป็นสัญญาณที่ดีตามข้อมูลที่ผ่านมา

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Transactions and Error Handling in PostgreSQL

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ภายใน transaction ให้กำหนด FIELD48 เป็น mature+ หากยอดเงินฝากที่ครบกำหนดรวมน้อยกว่า 2 ล้านดอลลาร์ แล้วตั้ง savepoint ชื่อ matureplus_flag_set
  • กำหนด FIELD48 เป็น mature- หากยอดเงินฝากที่ครบกำหนดรวมอยู่ระหว่าง 2 ล้านถึง 10 ล้านดอลลาร์ แล้วตั้ง savepoint ชื่อ 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+';
แก้ไขและรันโค้ด