THROW แบบระบุพารามิเตอร์
ให้เตรียมสคริปต์สำหรับดึงข้อมูลทั้งหมดของสมาชิกจากตาราง staff โดยใช้ staff_id ที่กำหนด
หากคำสั่ง SELECT ไม่พบสมาชิกใด ให้โยนข้อผิดพลาดด้วยคำสั่ง THROW เพื่อแจ้งว่าไม่มีสมาชิกที่มี id ดังกล่าว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Transactions and Error Handling in SQL Server
คำแนะนำการฝึกหัด
- ใช้คำสั่ง
THROWโดยกำหนด 50001 เป็นหมายเลขข้อผิดพลาด, 'No staff member with such id' เป็นข้อความ และ 1 เป็น state - เปลี่ยนค่า
@staff_idในคำสั่งDECLAREที่จุดเริ่มต้นเป็น id ที่ไม่มีอยู่ในระบบ (เช่น '45') แล้วคลิก รันโค้ด (ไม่ใช่ Run Solution) เพื่อดูข้อผิดพลาดที่เกิดขึ้น - ตั้งค่า
@staff_idกลับเป็น 4 แล้วรันโค้ดอีกครั้งโดยไม่มีข้อผิดพลาด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
DECLARE @staff_id INT = 4;
IF NOT EXISTS (SELECT * FROM staff WHERE staff_id = @staff_id)
-- Invoke the THROW statement with parameters
___ ___, '___', ___;
ELSE
SELECT * FROM staff WHERE staff_id = @staff_id