MySQL संग्रहीत कार्यविधि में FOR LOOP के साथ काम करने के लिए सिंटैक्स निम्नलिखित है -
delimiter//CREATE प्रक्रिया yourProcedureName()wholeblock:BEGIN DECLARE anyVariableName1 INT; AnyVariableName3 int घोषित करें; किसी भी चर नाम की घोषणा करें 2 वचर (255); कोई भी वैरिएबल नाम 1 =1 सेट करें; कोई भी सेट करेंवैरिएबलनाम3 =10; AnyVariableName2 ='';loop_label:FORLOOP IF anyVariableName1> anyVariableName3 सेट करें तो लूप_लेबल छोड़ दें; अगर अंत; कोई भी वैरिएबल नाम 2 सेट करें =CONCAT (कोई भी वैरिएबल नाम 2, कोई भी वैरिएबल नाम 1, ','); कोई भी वैरिएबल नाम 1 =कोई भी वैरिएबल नाम 1 + 1 सेट करें; ITERATE लूप_लेबल; END FORLOOP;कोई भी वैरिएबलनाम2 चुनें;END//
अब आप उपरोक्त सिंटैक्स को लागू कर सकते हैं। लूप के लिए क्वेरी इस प्रकार है -
mysql> delimiter //mysql> क्रिएट प्रोसीजर फॉरलूप () -> होलब्लॉक:BEGIN -> DECLARE start INT; -> मैक्सलिमिट इंट घोषित करें; -> परिणाम घोषित करें वचर (255); -> सेट प्रारंभ =1; -> अधिकतम सीमा =10 सेट करें; -> परिणाम सेट करें =''; -> लूप_लेबल:लूप -> यदि प्रारंभ करें> 10 तब -> लूप_लेबल छोड़ें; -> अंत अगर; -> परिणाम सेट करें =CONCAT (परिणाम, प्रारंभ, ','); -> सेट प्रारंभ =प्रारंभ + 1; -> ITERATE लूप_लेबल; -> अंत लूप; -> परिणाम चुनें; -> END -> // क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.37 सेकंड)mysql> सीमांकक;
लूप के लिए उपरोक्त 1 से 10 तक प्रिंट करता है अर्थात निम्नलिखित रूप में 1,2,3,4,.....10। कॉल कमांड का उपयोग करके संग्रहीत प्रक्रिया को कॉल करें। वाक्य रचना इस प्रकार है -
अपने StoredProcedureName() को कॉल करें;
कॉल करने की क्वेरी इस प्रकार है -
mysql> ForLoop() को कॉल करें;