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

ใน MySQL เราจะประกาศตัวจัดการในขณะที่จัดการข้อผิดพลาดได้อย่างไร


การจัดการข้อผิดพลาดด้วยการโยนข้อความแสดงข้อผิดพลาดที่เหมาะสมเป็นสิ่งสำคัญมาก 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 และดำเนินการดำเนินการต่อไป