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