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

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


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

REPEAT statements; UNTIL expression END REPEAT

सबसे पहले, MySQL स्टेटमेंट्स निष्पादित करता है, और फिर यह अभिव्यक्ति का मूल्यांकन करता है। यदि अभिव्यक्ति FALSE मूल्यांकन करती है, तो MySQL स्टेटमेंट्स को बार-बार निष्पादित करता है जब तक कि अभिव्यक्ति TRUE मूल्यांकन न करे। REPEAT लूप स्टेटमेंट्स निष्पादित होने के बाद अभिव्यक्ति की जांच करता है, इसलिए इसे पोस्ट-टेस्ट लूप भी कहा जाता है।

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

mysql> DELIMITER //
mysql> CREATE PROCEDURE Repeat_Loop()
    -> BEGIN
    -> DECLARE A INT;
    -> DECLARE XYZ VARCHAR(50);
    -> SET A = 1;
    -> SET XYZ = '';
    -> REPEAT
    -> SET XYZ = CONCAT(XYZ, A, ',');
    -> SET A = A + 1;
    -> UNTIL A > 10
    -> END REPEAT;
    -> SELECT XYZ;
    -> END //
Query OK, 0 rows affected (0.04 sec)

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

mysql> DELIMITER ;
mysql> CALL Repeat_Loop();
+-----------------------+
| XYZ                   |
+-----------------------+
| 1,2,3,4,5,6,7,8,9,10, |
+-----------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)

  1. - MySQL स्टोर्ड प्रोसीजर में FOR LOOP कैसे उपयोग करें?

    MySQL में FOR LOOP नहीं, WHILE LOOP उपयोग करें MySQL स्टोर्ड प्रोसीजर में **FOR LOOP नहीं होता** (Oracle PL/SQL के विपरीत)। इसके बजाय WHILE या LOOP ... LEAVE निर्माण का उपयोग करें। WHILE LOOP पैटर्न (सिफारिश) DELIMITER // CREATE PROCEDURE YourProcedureName() BEGIN DECLARE counter INT DEFAULT 1;

  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