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

एक संग्रहीत कार्यविधि में MySQL IF कथन का उपयोग कैसे किया जा सकता है?


MySQL IF स्टेटमेंट एक संग्रहित प्रक्रिया के भीतर एक बुनियादी सशर्त निर्माण को लागू करता है। इसका सिंटैक्स इस प्रकार है -

IF अभिव्यक्ति THEN Statements;END IF;

इसे अर्धविराम के साथ समाप्त होना चाहिए। MySQL संग्रहीत कार्यविधि के भीतर IF कथन के उपयोग को प्रदर्शित करने के लिए, हम निम्नलिखित संग्रहीत कार्यविधि बना रहे हैं जो नीचे दिखाए गए मानों पर आधारित है, जिसका नाम 'student_info' -

है।
mysql> student_info से * चुनें; ---+| आईडी | नाम | पता | विषय |+----------+---------+-----------+---------------+| 101 | यशपाल | अमृतसर | इतिहास || 105 | गौरव | जयपुर | साहित्य || 125 | रमन | शिमला | कंप्यूटर |+----------+---------+---------------+---------------+3 पंक्तियाँ सेट में (0.00 सेकंड)

निम्न क्वेरी से 'coursedetails_IF' नाम की एक प्रक्रिया बनेगी, जिसमें IF स्टेटमेंट होंगे -

mysql> DELIMITER //;mysql> CREATE PROCEDURE coursedetails_IF(IN S_Subject Varchar(20), OUT S_Course varchar(20)) -> BEGIN -> DECLARE Sub Varchar(20); -> उप में विषय चुनें -> छात्र_जानकारी से जहां S_Subject =विषय; -> IF Sub ='कंप्यूटर' तब -> SET S_Course ='B.Tech (CSE)'; -> अंत अगर; -> END // क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)

अब, जब हम इस प्रक्रिया को लागू करते हैं तो हम नीचे परिणाम देख सकते हैं -

<पूर्व>mysql> सीमांकक; //mysql> कॉल coursedetails_IF('Computers', @S_Course);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड)mysql> @S_Course चुनें;+-------------+| @S_Course |+---------------+| बी.टेक (सीएसई) |+---------------+1 पंक्ति में सेट (0.00 सेकंड)
  1. हम एक MySQL संग्रहीत प्रक्रिया के अंदर रोलबैक लेनदेन कैसे कर सकते हैं?

    जैसा कि हम जानते हैं कि रोलबैक लेन-देन शुरू होने के बाद डेटाबेस में किए गए किसी भी बदलाव को वापस कर देगा। रोलबैक करने के लिए MySQL संग्रहीत कार्यविधि में हमें EXIT declare घोषित करना होगा हैंडलर। हम एक हैंडलर का उपयोग स्क्लेक्ससेप्शन या एसक्यूएल चेतावनियों के लिए कर सकते हैं। इसे एक उदाहरण की मदद

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

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

  1. MySQL में चुनिंदा कथन का उपयोग करके संग्रहीत प्रक्रिया को कैसे कॉल करें?

    MySQL में, FROM क्लॉज में सेलेक्ट फ्रॉम प्रोसेस का उपयोग करना संभव नहीं है। आप कॉल कमांड का उपयोग कर सकते हैं और उसके बाद सेलेक्ट स्टेटमेंट को निष्पादित किया जा सकता है। आइए पहले एक टेबल बनाएं: );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.66 सेकंड) संग्रहीत कार्यविधि बनाने की क्वेरी निम्नलिखित है: D