Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

हम एक संग्रहीत प्रक्रिया में MySQL हैंडलर कैसे लिख सकते हैं?


जब भी MySQL संग्रहीत कार्यविधि में कोई अपवाद होता है, तो एक उचित त्रुटि संदेश फेंक कर इसे संभालना बहुत महत्वपूर्ण है। मान लीजिए, अगर हम अपवाद को संभाल नहीं पाते हैं, तो संग्रहीत प्रक्रिया में उस निश्चित अपवाद के साथ आवेदन को विफल करने का एक मौका होगा। MySQL संग्रहीत प्रक्रिया में अपवाद को संभालने के लिए एक हैंडलर प्रदान करता है। निम्नलिखित चार प्रकार के MySQL हैंडलर हैं जिनका उपयोग संग्रहीत प्रक्रिया में किया जा सकता है -

SQLEXCEPTION के लिए हैंडलर जारी रखें डिक्लेयर करें चुनें 'एक त्रुटि हुई';

उपरोक्त हैंडलर एक त्रुटि संदेश देगा और निष्पादन जारी रखेगा।

SQLEXCEPTION SET के लिए हैंडलर जारी रखें घोषित करें got_error=1;

उपरोक्त हैंडलर वेरिएबल Got_error को 1 पर सेट करेगा और निष्पादन जारी रखेगा।

SQLEXCEPTION SET के लिए निकास हैंडलर की घोषणा करें Got_error=1;

उपरोक्त हैंडलर चर get_error को 1 पर सेट करेगा और निष्पादन को समाप्त कर देगा।

SQLSTATE '23000' SET के लिए निकास हैंडलर की घोषणा करें got_error=1;

उपरोक्त हैंडलर एक डिफ़ॉल्ट MySQL त्रुटि संदेश फेंक देगा और वेरिएबल Got_error को 1 पर सेट करके निष्पादन को समाप्त कर देगा।


  1. एक MySQL संग्रहीत कार्यविधि इसके अंदर किसी अन्य MySQL संग्रहीत कार्यविधि को कैसे कॉल कर सकती है?

    यह बहुत संभव है कि एक MySQL संग्रहीत कार्यविधि इसके अंदर किसी अन्य MySQL संग्रहीत कार्यविधि को कॉल कर सकती है। इसे प्रदर्शित करने के लिए, हम एक उदाहरण ले रहे हैं जिसमें एक संग्रहीत कार्यविधि last_insert_id का पता लगाने के लिए किसी अन्य संग्रहीत कार्यविधि को कॉल करेगी। उदाहरण mysql> Create table e

  1. MySQL संग्रहित प्रक्रिया में फॉर लूप का उपयोग कैसे करें?

    MySQL संग्रहीत कार्यविधि में FOR LOOP के साथ काम करने के लिए सिंटैक्स निम्नलिखित है - anyVariableName3 सेट करें तो लूप_लेबल छोड़ दें; अगर अंत; कोई भी वैरिएबल नाम 2 सेट करें =CONCAT (कोई भी वैरिएबल नाम 2, कोई भी वैरिएबल नाम 1, ,); कोई भी वैरिएबल नाम 1 =कोई भी वैरिएबल नाम 1 + 1 सेट करें; ITERATE लूप_

  1. एक MySQL संग्रहीत कार्यविधि में शर्तें सेट करें

    किसी संग्रहीत कार्यविधि में शर्तें सेट करने के लिए, MySQL में IF...ELSE का उपयोग करें। if-else के लिए सिंटैक्स निम्नलिखित है - यदि आपकी स्थिति है तो आपका स्टेटमेंट1, ईएलएसई योरस्टेटमेंट2, अगर समाप्त करें; आइए हम उपरोक्त सिंटैक्स को एक संग्रहीत कार्यविधि में लागू करें - // क्वेरी ठीक है, 0 पंक्तिया