MySQL সংরক্ষিত পদ্ধতিতে FOR LOOP-এর সাথে কাজ করার জন্য নিম্নলিখিত সিনট্যাক্স রয়েছে -
ডিলিমিটার //প্রক্রিয়া তৈরি করুন your ProcedureName() wholeblock:যেকোন পরিবর্তনশীল নাম1 INT ঘোষণা করতে শুরু করুন; ডিক্লেয়ার anyVariableName3 int; যেকোনো পরিবর্তনশীল নাম 2 VARCHAR(255) ঘোষণা করুন; সেট anyVariableName1 =1; SET anyVariableName3 =10; সেট anyVariableName2 ='';loop_label:FORLOOP IF anyVariableName1> anyVariableName3 তারপর লুপ_লেবেল ছেড়ে দিন; শেষ যদি; সেট anyVariableName2 =CONCAT(anyVariableName2 ,anyVariableName1 ,','); SET anyVariableName1 =anyVariableName1 + 1; ITERATE লুপ_লেবেল; END FORLOOP; যেকোন পরিবর্তনশীল নাম2 নির্বাচন করুন;END//
এখন আপনি উপরের সিনট্যাক্স বাস্তবায়ন করতে পারেন। লুপ ক্যোয়ারী নিম্নরূপ -
mysql> delimiter //mysql> প্রক্রিয়া তৈরি করুন ForLoop() -> wholeblock:BEGIN -> DECLARE start INT; -> maxLimit int ঘোষণা করুন; -> ফলাফল ঘোষণা VARCHAR(255); -> সেট শুরু =1; -> SET maxLimit=10; -> SET ফলাফল =''; -> লুপ_লেবেল:লুপ -> যদি শুরু হয়> 10 তারপর -> লুপ_লেবেল ছেড়ে যান; -> END IF; -> SET ফলাফল =CONCAT(ফলাফল, শুরু, ','); -> সেট শুরু =শুরু + 1; -> লুপ_লেবেল বার করুন; -> শেষ লুপ; -> ফলাফল নির্বাচন করুন; -> শেষ -> //কোয়েরি ঠিক আছে, 0টি সারি প্রভাবিত (0.37 সেকেন্ড)mysql> ডিলিমিটার;
লুপ প্রিন্টের জন্য উপরেরটি 1 থেকে 10 অর্থাৎ নিম্নলিখিত আকারে 1,2,3,4,.....10। CALL কমান্ড ব্যবহার করে সঞ্চিত পদ্ধতিতে কল করুন। সিনট্যাক্স নিম্নরূপ -
কল yourStoredProcedureName();
কল করার জন্য ক্যোয়ারী নিম্নরূপ -
mysql> কল ForLoop();