Transaction แบบหลายคำสั่ง
มาลองใช้หลายคำสั่งใน transaction เดียวกัน เพื่อกำหนดค่าสถานะใน FIELD48 โดยอิงจากประเภทสินทรัพย์ที่ถือครอง ไม่ว่าจะเป็นสินทรัพย์รัฐบาลระดับมลรัฐของสหรัฐฯ ที่แทนด้วย RCON2203, สินทรัพย์ต่างประเทศที่แทนด้วย RCON2236, หรือทั้งสองประเภท
ค่าที่ใช้สำหรับ FIELD48 ได้แก่ 'US-STATE-GOV', 'FOREIGN', หรือ 'BOTH' ตามลำดับ ฟิลด์สถานะแบบนี้พบได้บ่อยในชุดข้อมูลของหน่วยงานรัฐ และมีประโยชน์มากในการจัดหมวดหมู่ระเบียนข้อมูล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Transactions and Error Handling in PostgreSQL
คำแนะนำการฝึกหัด
- เริ่มต้น transaction
- สร้างคำสั่ง UPDATE 3 คำสั่ง เพื่อตรวจสอบแต่ละเงื่อนไขในคอลัมน์และกำหนดค่า
FIELD48ให้ถูกต้อง - สิ้นสุด transaction
- เลือกนับจำนวนระเบียนที่ค่าสถานะถูกกำหนดเป็น
'BOTH'
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Begin a new transaction
___;
-- Update FIELD48 flag status if US State Government deposits are held
UPDATE ffiec_reci
SET ___ = 'US-STATE-GOV'
WHERE RCON2203 > 0;
-- Update FIELD48 flag status if Foreign deposits are held
UPDATE ffiec_reci
SET ___ = 'FOREIGN'
WHERE RCON2236 > 0;
-- Update FIELD48 flag status if US State Government and Foreign deposits are held
UPDATE ffiec_reci
SET ___ = 'BOTH'
WHERE RCON2203 > 0
AND RCON2236 > 0;
-- Commit the transaction
___;
-- Select a count of records where FIELD48 is now BOTH
SELECT COUNT(FIELD48)
FROM ffiec_reci
WHERE ___ = '___';