एक उचित त्रुटि संदेश फेंक कर त्रुटियों को संभालना बहुत महत्वपूर्ण है। MySQL त्रुटि को संभालने के लिए एक हैंडलर प्रदान करता है। हम निम्नलिखित सिंटैक्स की मदद से एक हैंडलर घोषित कर सकते हैं -
हैंडलर का सिंटैक्स
DECLARE handler_action FOR condition_value statement;
उपरोक्त सिंटैक्स से पता चलता है कि हैंडलर घोषित करने के लिए हमें DECLARE HANDLER स्टेटमेंट का उपयोग करने की आवश्यकता है। यदि कोई शर्त जिसका मान condition_value से मेल खाता है, तो MySQL कथन को निष्पादित करेगा और क्रिया के आधार पर वर्तमान कोड ब्लॉक को जारी रखेगा या बाहर निकलेगा। उपरोक्त वाक्य रचना में निम्नलिखित तीन प्रमुख बातें हैं -
-
हैंडलर_एक्शन दो प्रकार का है और निम्न में से किसी एक मान को स्वीकार कर सकता है -
<उल शैली=""> - जारी रखें - यदि हैंडलर_एक्शन 'CONTINUE' है तो संलग्न कोड ब्लॉक का निष्पादन जारी है।
- बाहर निकलें - यदि हैंडलर_एक्शन '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 पर सेट करें और निष्पादन जारी रखें।