การใช้ฟังก์ชันข้อผิดพลาด
คุณต้องการทราบยอดรายรับรวมของร้านจักรยานในแต่ละเดือน แทนที่จะตรวจสอบรายการสั่งซื้อทีละรายการ จึงเตรียมสคริปต์สำหรับคำนวณและแสดงผลลัพธ์แทน
ระหว่างเขียนสคริปต์ มีข้อผิดพลาดเกิดขึ้น อย่างที่เห็น การดำเนินการ 'Total: ' + SUM(price * quantity) AS total ขาดการแปลงประเภทข้อมูล (cast conversion) ทำให้เกิดข้อผิดพลาด
จะดักจับข้อผิดพลาดนี้ได้อย่างไร? ให้แสดงหมายเลขข้อผิดพลาด ระดับความรุนแรง สถานะ บรรทัด และข้อความแจ้งเตือน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Transactions and Error Handling in SQL Server
คำแนะนำการฝึกหัด
- ครอบการดำเนินการด้วยบล็อก
TRY - ครอบฟังก์ชันต่าง ๆ ด้วยบล็อก
CATCH - เลือกข้อมูลข้อผิดพลาด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Set up the TRY block
___ ___
SELECT 'Total: ' + SUM(price * quantity) AS total
FROM orders
___ ___
-- Set up the CATCH block
___ ___
-- Show error information.
SELECT ___ AS number,
___ AS severity_level,
___ AS state,
___ AS line,
___ AS message;
___ ___