หลีกเลี่ยงการถูกบล็อก
คุณกำลังพยายาม SELECT ทุกรายการเคลื่อนไหวของบัญชี 1 จากตาราง transactions แต่ถูกบล็อกโดยธุรกรรมอื่น ทำให้ไม่ได้รับผลลัพธ์ ฐานข้อมูลถูกกำหนดค่าภายใต้ระดับการแยกธุรกรรม READ COMMITTED
สามารถแก้ไขคิวรี SELECT เพื่อดึงข้อมูลได้ทันทีโดยไม่ต้องเปลี่ยนระดับการแยกธุรกรรมได้หรือไม่? วิธีนี้จะช่วยให้อ่านข้อมูลที่ยังไม่ได้ COMMIT จากตาราง transactions ได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Transactions and Error Handling in SQL Server
คำแนะนำการฝึกหัด
- แก้ไขสคริปต์เพื่อหลีกเลี่ยงการถูกบล็อก
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT *
-- Avoid being blocked
FROM transactions ___ (___LOCK)
WHERE account_id = 1