MySQL हमें एक लूप प्रदान करता है स्टेटमेंट जो लूप लेबल का उपयोग करने के अतिरिक्त लचीलेपन के साथ कोड के एक ब्लॉक को बार-बार निष्पादित करता है। हमारे पास निम्नलिखित दो कथन हैं जो हमें लूप को नियंत्रित करने की अनुमति देते हैं -
बयान छोड़ें
यह हमें स्थिति की जांच की प्रतीक्षा किए बिना तुरंत लूप से बाहर निकलने की अनुमति देता है।
पुनरावृत्ति कथन
यह हमें इसके तहत पूरे कोड को छोड़ने और एक नया पुनरावृत्ति शुरू करने की अनुमति देता है।
लूप . के उपयोग को प्रदर्शित करने के लिए संग्रहीत प्रक्रियाओं के साथ बयान, निम्नलिखित एक संग्रहीत प्रक्रिया है जो 2,4,6,8 आदि जैसी संख्याओं के साथ एक स्ट्रिंग का निर्माण करती है -
mysql> Delimiter // mysql> CREATE PROCEDURE LOOP_loop() -> BEGIN -> DECLARE A INT; -> DECLARE XYZ VARCHAR(255); -> SET A = 1; -> SET XYZ = ''; -> loop_label: LOOP -> IF A > 10 THEN -> LEAVE loop_label; -> END IF; -> SET A = A + 1; -> IF (A mod 2) THEN -> ITERATE loop_label; -> ELSE -> SET XYZ = CONCAT(XYZ,A,','); -> END IF; -> END LOOP; -> SELECT XYZ; -> END // Query OK, 0 rows affected (0.07 sec)
अब, जब हम इस प्रक्रिया को लागू करते हैं तो हम नीचे परिणाम देख सकते हैं -
mysql> DELIMITER ; mysql> CALL LOOP_loop (); +-------------+ | XYZ | +-------------+ | 2,4,6,8,10, | +-------------+ 1 row in set (0.04 sec) Query OK, 0 rows affected (0.04 sec)
यहाँ उपरोक्त क्वेरी में, यदि A का मान 10 से अधिक है तो LEAVE स्टेटमेंट के कारण लूप समाप्त हो जाता है। यदि A का मान एक विषम संख्या है तो ITERATE कथन इसके नीचे की हर चीज़ को अनदेखा कर देता है और एक नया पुनरावृत्ति शुरू करता है। यदि A का मान एक सम संख्या है तो ELSE कथन में ब्लॉक सम संख्याओं के साथ स्ट्रिंग बनाएगा।