การจัดการข้อผิดพลาดด้วยการโยนข้อความแสดงข้อผิดพลาดที่เหมาะสมเป็นสิ่งสำคัญมาก MySQL จัดเตรียมตัวจัดการเพื่อจัดการกับข้อผิดพลาด เราสามารถประกาศตัวจัดการโดยใช้ไวยากรณ์ต่อไปนี้ -
ไวยากรณ์ของตัวจัดการ
DECLARE handler_action FOR condition_value statement;
ไวยากรณ์ด้านบนแสดงให้เห็นว่าเราจำเป็นต้องใช้คำสั่ง DECLARE HANDLER เพื่อประกาศตัวจัดการ หากเงื่อนไขที่มีค่าตรงกับ condition_value แล้ว MySQL จะดำเนินการคำสั่งและดำเนินการต่อหรือออกจากบล็อกโค้ดปัจจุบันตามการกระทำ ต่อไปนี้เป็นสามสิ่งสำคัญในไวยากรณ์ข้างต้น -
-
Handler_action เป็นสองประเภทและสามารถยอมรับค่าใดค่าหนึ่งต่อไปนี้ -
- ดำเนินการต่อ − หาก handler_action เป็น 'CONTINUE' การดำเนินการของบล็อกโค้ดที่ล้อมรอบจะดำเนินต่อไป
- ออก − หาก handler_action เป็น 'EXIT' การดำเนินการของบล็อกโค้ดที่ล้อมรอบจะสิ้นสุดลง
-
Condition_value ระบุเงื่อนไขเฉพาะหรือคลาสของเงื่อนไขที่เปิดใช้งานตัวจัดการ สามารถรับค่าใดค่าหนึ่งดังต่อไปนี้ -
- รหัสข้อผิดพลาด − condition_value สามารถเป็นรหัสข้อผิดพลาด MySQL ได้
- SQLSTATE − condition_value สามารถเป็น SQLSTATE ได้เช่นกัน
- SQLWARNING − condition_value สามารถเป็น SQLWARNING ได้เช่นกัน
- หมายเหตุ − condition_value สามารถเป็น NOTFOUND ได้เช่นกัน
- SQLEXCEPTION − condition_value สามารถเป็น SQLEXCEPTION ได้เช่นกัน
-
คำชี้แจง สามารถเป็นคำสั่งธรรมดาหรือคำสั่งผสมที่ล้อมรอบด้วยคีย์เวิร์ด BEGIN และ END
ตัวอย่าง
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error = 1;
ในตัวอย่างข้างต้น ตัวจัดการหมายความว่าหากมีข้อผิดพลาดเกิดขึ้น ให้ตั้งค่าตัวแปร got_error เป็น 10 และดำเนินการดำเนินการต่อไป