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

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

MySQL स्टोर्ड प्रोसीजर में REPEAT लूप

MySQL स्टोर्ड प्रोसीजर में REPEAT ... UNTIL लूप का उपयोग करके पुनरावृत्ति करें।

स्टोर्ड प्रोसीजर बनाना

mysql> DELIMITER //
mysql> CREATE PROCEDURE do_WhileDemo(LastValue INT)
    -> BEGIN
    ->     SET @loop = 0;
    ->     REPEAT
    ->         SET @loop = @loop + 1;
    ->         SELECT @loop;
    ->     UNTIL @loop > LastValue
    ->     END REPEAT;
    -> END //
Query OK, 0 rows affected (0.17 sec)

mysql> DELIMITER ;

प्रोसीजर कॉल करना

mysql> CALL do_WhileDemo(10);

आउटपुट (प्रत्येक SELECT एक पंक्ति लौटाता है)

+-------+
| @loop |
+-------+
| 1     |
+-------+
| 2     |
+-------+
...
| 11    |
+-------+

लूप प्रकार तुलना

लूप प्रकारसिंटैक्सकम से कम एक बार चलता है?
REPEATREPEAT ... UNTIL condition END REPEATहाँ
WHILEWHILE condition DO ... END WHILEनहीं (पहले चेक)
LOOPLOOP ... END LOOP (LEAVE से बाहर निकलें)हाँ

WHILE लूप उदाहरण

CREATE PROCEDURE whileDemo(maxVal INT)
BEGIN
    DECLARE i INT DEFAULT 1;
    WHILE i <= maxVal DO
        SELECT i;
        SET i = i + 1;
    END WHILE;
END

महत्वपूर्ण नोट्स

  • DELIMITER // प्रोसीजर परिभाषा के लिए आवश्यक
  • वेरिएबल DECLARE (लोकल) या SET @var (सेशन) हो सकते हैं
  • LEAVE label_name से लूप जल्दी छोड़ें
  • ITERATE label_name से अगली इटरेशन पर जाएं
  1. - MySQL स्टोर्ड प्रोसीजर में 5 रैंडम नंबर कैसे जनरेट करें?

    MySQL स्टोर्ड प्रोसीजर में ORDER BY RAND() का उपयोग करके रैंडम नंबर जनरेट करना MySQL में रैंडम नंबर जनरेट करने के लिए ORDER BY RAND() फ़ंक्शन का उपयोग किया जाता है। यहाँ हम एक स्टोर्ड प्रोसीजर बनाकर 5 रैंडम नंबर जनरेट करेंगे। उदाहरण के साथ पूर्ण कार्यान्वयन आइए पहले एक टेबल बनाते हैं: CREATE TABLE

  1. - MySQL स्टोर्ड प्रोसीजर में शर्तों (IF-ELSE) को सही तरीके से कैसे लागू करें?

    MySQL स्टोर्ड प्रोसीजर में सशर्त तर्क (Conditional Logic) लागू करने के लिए IF-THEN-ELSE स्टेटमेंट का उपयोग किया जाता है। सही सिंटैक्स और डिलिमिटर का ध्यान रखना महत्वपूर्ण है। सही सिंटैक्स DELIMITER // CREATE PROCEDURE procedure_name(IN param_name INT) BEGIN IF condition THEN statement1;

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

    MySQL स्टोर्ड प्रोसीजर बनाते समय DELIMITER का सही उपयोग आवश्यक है क्योंकि प्रोसीजर बॉडी में सेमीकॉलन (;) होते हैं जो डिफ़ॉल्ट स्टेटमेंट टर्मिनेटर हैं। सही सिंटैक्स DELIMITER // CREATE PROCEDURE procedure_name() BEGIN IF condition THEN statement1; ELSE statement2; END IF;