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

MySQL WHILE लूप स्टेटमेंट का उपयोग स्टोर्ड प्रोसीजर में कैसे किया जा सकता है?


जैसा कि हम जानते हैं कि MySQL हमें लूप स्टेटमेंट्स प्रदान करता है जो हमें एक शर्त के आधार पर SQL कोड के ब्लॉक को बार-बार निष्पादित करने की अनुमति देते हैं। WHILE लूप स्टेटमेंट ऐसा ही एक प्रकार का लूप स्टेटमेंट है। इसका सिंटैक्स निम्नानुसार है:

WHILE expression DO statements END WHILE

वास्तव में, WHILE लूप प्रत्येक पुनरावृत्ति की शुरुआत में अभिव्यक्ति की जांच करता है। यदि अभिव्यक्ति सत्य मूल्यांकन करती है, तो MySQL WHILE और END WHILE के बीच स्टेटमेंट्स को तब तक निष्पादित करेगा जब तक अभिव्यक्ति असत्य मूल्यांकन न करे। WHILE लूप स्टेटमेंट्स निष्पादित होने से पहले अभिव्यक्ति की जांच करता है, इसलिए इसे प्रीटेस्ट लूप भी कहा जाता है।

स्टोर्ड प्रोसीजर के साथ WHILE लूप के उपयोग को प्रदर्शित करने के लिए, निम्नलिखित एक उदाहरण है:

mysql> DELIMITER //
mysql> CREATE PROCEDURE While_Loop()
    -> BEGIN
    -> DECLARE A INT;
    -> DECLARE XYZ VARCHAR(50);
    -> SET A = 1;
    -> SET XYZ = '';
    -> WHILE A <= 10 DO
    -> SET XYZ = CONCAT(XYZ, A, ',');
    -> SET A = A + 1;
    -> END WHILE;
    -> SELECT XYZ;
    -> END //
Query OK, 0 rows affected (0.31 sec)

अब, हम इस प्रोसीजर को आह्वान करते समय नीचे परिणाम देख सकते हैं:

mysql> DELIMITER ;
mysql> CALL While_Loop();
+-----------------------+
| XYZ                   |
+-----------------------+
| 1,2,3,4,5,6,7,8,9,10, |
+-----------------------+
1 row in set (0.03 sec)

  1. - MySQL में WHILE LOOP और IF STATEMENT कैसे लागू करें?

    स्टोर्ड प्रोसीजर में WHILE लूप और IF का उपयोग MySQL स्टोर्ड प्रोसीजर में WHILE लूप और IF स्टेटमेंट का उपयोग करके वर्तमान महीने के कार्यदिवसों (सोमवार-शुक्रवार) की गणना करने का उदाहरण। स्टोर्ड प्रोसीजर बनाना mysql> DELIMITER // mysql> CREATE PROCEDURE sp_getDaysDemo() BEGIN -- वर्तमान मही

  1. - MySQL में स्टोर्ड प्रोसीजर के माध्यम से लूप कैसे चलाएं

    MySQL स्टोर्ड प्रोसीजर में REPEAT लूप MySQL स्टोर्ड प्रोसीजर में REPEAT ... UNTIL लूप का उपयोग करके पुनरावृत्ति करें। स्टोर्ड प्रोसीजर बनाना LastValue -> END REPEAT; -> END // Query OK, 0 rows affected (0.17 sec) mysql> DELIMITER ; प्रोसीजर कॉल करना mysql> CALL do_WhileDe

  1. - MySQL में स्टोर्ड प्रोसीजर को SELECT स्टेटमेंट से कैसे कॉल करें?

    CALL कमांड का उपयोग करें, FROM क्लॉज में नहीं MySQL में स्टोर्ड प्रोसीजर को SELECT ... FROM procedure() सिंटैक्स से कॉल नहीं कर सकते। इसके बजाय CALL कमांड उपयोग करें, फिर अलग से SELECT चलाएं। उदाहरण टेबल बनाएं: ); इन्सर्ट करने वाला प्रोसीजर बनाएं DELIMITER ; प्रोसीजर कॉल करें CALL insert_info