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

संग्रहीत प्रक्रिया में सशर्त MySQL क्वेरी लागू करें?

<घंटा/>

सशर्त MySQL क्वेरी के लिए, आप संग्रहीत कार्यविधि में IF ELSE अवधारणा का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable1 (Id int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.62 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

mysql> DemoTable1 मान (10) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> DemoTable1 मान (20) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> DemoTable1 मानों में डालें ( 30);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> DemoTable1 से *चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+----------+| आईडी |+------+| 10 || 20 || 30 |+------+3 पंक्तियाँ सेट में (0.00 सेकंड)

दूसरी तालिका बनाने की क्वेरी निम्नलिखित है।

mysql> टेबल बनाएं DemoTable2 (Id int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.07 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

mysql> DemoTable2 मानों (40) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> DemoTable2 मान (50) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> DemoTable2 मानों में डालें ( 60);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> DemoTable2 से *चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+----------+| आईडी |+------+| 40 || 50 || 60 |+------+3 पंक्तियाँ सेट में (0.00 सेकंड)

सशर्त MySQL क्वेरी के लिए संग्रहीत कार्यविधि बनाने के लिए क्वेरी निम्नलिखित है।

mysql> DELIMITER // mysql> क्रिएट प्रोसेस कंडिशनल_क्वेरी (आईडी इंट) अगर आईडी शुरू करें>=40 तो DemoTable2 से * चुनें; ELSE DemoTable1 से * चुनें; अगर अंत; END // क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हुई हैं (0.21 सेकंड)mysql> DELIMITER;

अब आप कॉल कमांड की मदद से संग्रहित प्रक्रिया को कॉल कर सकते हैं -

mysql> conditional_Query(100) पर कॉल करें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+----------+| आईडी |+------+| 40 || 50 || 60 |+------+3 पंक्तियाँ सेट में (0.00 सेकंड)क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.03 सेकंड)

फिर से कॉल करें और एक अलग मान पास करें -

mysql> conditional_Query(13) पर कॉल करें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+----------+| आईडी |+------+| 10 || 20 || 30 |+------+3 पंक्तियाँ सेट में (0.00 सेकंड) क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.02 सेकंड)
  1. - एक MySQL संग्रहीत प्रक्रिया में लागू एक क्वेरी से डेटाबेस का नाम प्राप्त करें?

    डेटाबेस का नाम प्राप्त करने के लिए, नीचे दिए गए सिंटैक्स का उपयोग करें - डेटाबेस चुनें (); आइए हम उपरोक्त सिंटैक्स को संग्रहीत कार्यविधि में लागू करें - सीमांकक; अब आप कॉल कमांड का उपयोग करके एक संग्रहीत कार्यविधि को कॉल कर सकते हैं - get_procedure_database_name() पर कॉल करें; यह निम्नलिखित आउट

  1. - लागू करें यदि MySQL में संग्रहीत कार्यविधि में कोई और है?

    if-else को लागू करने के लिए, सिंटैक्स इस प्रकार है - यदि आपका कंडीशन है तो yourStatement1; अन्यथा आपका स्टेटमेंट 2; अंत अगर; संग्रहीत कार्यविधि में if-else के लिए उपरोक्त अवधारणा को समझने के लिए, आइए हम एक संग्रहीत कार्यविधि बनाते हैं - सीमांकक; अब आप कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को

  1. - एक MySQL संग्रहीत प्रक्रिया के अंदर डायनामिक SQL क्वेरी लागू करें?

    संग्रहीत कार्यविधि में गतिशील SQL क्वेरी के लिए, PREPARE STATEMENT की अवधारणा का उपयोग करें। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable2033    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> Name varchar(20)    -> ); Que