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

การใช้ระดับ Isolation Level

อย่างที่เห็นในวิดีโอ บางครั้งการกำหนด isolation level สำหรับธุรกรรมแต่ละรายการเป็นเรื่องสำคัญ วิธีที่ดีที่สุดคือใช้ START TRANSACTION ซึ่งเป็น alias ของ BEGIN TRANSACTION เพื่อให้ชัดเจนว่ามีการตั้งค่าพิเศษ และสามารถระบุ ISOLATION LEVEL ได้เมื่อเริ่มต้นธุรกรรม

ในแบบฝึกหัดนี้ เราจะใช้ REPEATABLE READ ซึ่งป้องกัน dirty reads, nonrepeatable reads และ phantom reads ในข้อมูล FFEIC นั้น RCON2210 คือฟิลด์ demand deposits ที่บันทึกยอดคงค้างของบัญชีเช็ค เช็คที่ธนาคารออก และเครดิตที่ยังไม่ถูกบันทึก ซึ่งอาจเป็นภาระผูกพันของธนาคารหากเกิดการถอนเงินจำนวนมากในคราวเดียว มาค้นหาธนาคารทั้งหมดที่มี demand deposits เกิน $100,000,000 กัน

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

Transactions and Error Handling in PostgreSQL

ดูคอร์ส

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

  • เริ่มต้นธุรกรรมโดยใช้ repeatable read
  • เลือกระเบียนทั้งหมดที่ RCON2210 มีมูลค่า demand deposits เกิน $100,000,000
  • เลือกระเบียนทั้งหมดที่ RCON2210 ยังคงมีมูลค่าเกิน $100,000,000
  • Commit ธุรกรรม

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- Create a new transaction with an isolation level of repeatable read
___ TRANSACTION ___ LEVEL ___ ___;

-- Count of records over 100000000
SELECT ___(RCON2210)
FROM ffiec_reci
WHERE ___ > ___;

-- Count of records still over 100000000
SELECT ___(RCON2210)
FROM ffiec_reci
WHERE ___ > ___;

-- Commit the transaction
___;
แก้ไขและรันโค้ด