Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีประกาศ Handler ขณะจัดการข้อผิดพลาดใน MySQL


การจัดการข้อผิดพลาดโดยการโยนข้อความผิดพลาดที่เหมาะสมนั้นสำคัญมาก MySQL มี Handler สำหรับจัดการข้อผิดพลาด เราสามารถประกาศ Handler ได้ด้วยไวยากรณ์ดังนี้:

ไวยากรณ์ของ Handler

DECLARE handler_action FOR condition_value statement;

ไวยากรณ์ข้างต้นแสดงว่าเราต้องใช้คำสั่ง DECLARE HANDLER เพื่อประกาศ Handler หากเงื่อนไขที่มีค่าตรงกับ condition_value MySQL จะรันคำสั่งและดำเนินการต่อหรือออกจากบล็อกโค้ดปัจจุบันขึ้นอยู่กับ action สิ่งสำคัญ 3 ประการในไวยากรณ์ข้างต้น:

  • Handler_action มี 2 ประเภท และสามารถรับค่าได้ดังนี้:

    • CONTINUE - หาก handler_action เป็น 'CONTINUE' การดำเนินการของบล็อกโค้ดที่ครอบคลุมจะดำเนินต่อไป
    • EXIT - หาก handler_action เป็น 'EXIT' การดำเนินการของบล็อกโค้ดที่ครอบคลุมจะสิ้นสุดลง
  • Condition_value ระบุเงื่อนไขเฉพาะหรือกลุ่มเงื่อนไขที่เปิดใช้งาน Handler สามารถรับค่าได้ดังนี้:

    • ERROR CODE - condition_value สามารถเป็นรหัสข้อผิดพลาดของ MySQL
    • SQLSTATE - condition_value สามารถเป็น SQLSTATE ได้
    • SQLWARNING - condition_value สามารถเป็น SQLWARNING ได้
    • NOTFOUND - condition_value สามารถเป็น NOTFOUND ได้
    • SQLEXCEPTION - condition_value สามารถเป็น SQLEXCEPTION ได้
  • Statement สามารถเป็นคำสั่งง่ายหรือคำสั่งรวมที่ล้อมรอบด้วยคีย์เวิร์ด BEGIN และ END

ตัวอย่าง

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error = 1;

ในตัวอย่างข้างต้น Handler หมายถึง หากเกิดข้อผิดพลาด ให้ตั้งค่าตัวแปร got_error เป็น 1 และดำเนินการต่อไป