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

ป้องกัน Phantom Reads ในตาราง

วันนี้ต้องวิเคราะห์ข้อมูลของลูกค้าทุกคนในธนาคาร เนื่องจากข้อมูลนี้มีความสำคัญมาก จึงต้องการล็อกตาราง customers ทั้งหมด เพื่อไม่ให้ใครสามารถแก้ไขข้อมูลในตารางนี้ได้ ซึ่งเป็นการป้องกัน Phantom Reads

เตรียม Script สำหรับดึงข้อมูลดังกล่าว และนำผลลัพธ์ที่ได้ไปใช้คำนวณทางคณิตศาสตร์ต่อ (ในแบบฝึกหัดนี้จะยังไม่โฟกัสที่การคำนวณส่วนนั้น) จากนั้นต้องการดึงข้อมูลชุดเดิมอีกครั้ง เพื่อให้มั่นใจว่าไม่มีอะไรเปลี่ยนแปลง

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

Transactions and Error Handling in SQL Server

ดูคอร์ส

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

  • กำหนดระดับ Isolation ที่เหมาะสมเพื่อป้องกัน Phantom Reads
  • เริ่ม Transaction
  • Commit Transaction

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

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

-- Set the appropriate isolation level
___ ___ ___ ___ ___

-- Begin a transaction
___ ___

SELECT * FROM customers;

-- After some mathematical operations, we selected information from the customers table.
SELECT * FROM customers;

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