MySQL আমাদের একটি LOOP প্রদান করে৷ বিবৃতি যা একটি লুপ লেবেল ব্যবহার করার অতিরিক্ত নমনীয়তার সাথে কোডের একটি ব্লক বারবার কার্যকর করে। আমাদের নিম্নলিখিত দুটি বিবৃতি রয়েছে যা আমাদের লুপ নিয়ন্ত্রণ করতে দেয় −
ত্যাগ বিবৃতি
এটি আমাদের শর্ত পরীক্ষা করার জন্য অপেক্ষা না করে অবিলম্বে লুপ থেকে প্রস্থান করার অনুমতি দেয়৷
পুনরাবৃত্তি বিবৃতি
এটি আমাদেরকে এর অধীনে থাকা সম্পূর্ণ কোডটি এড়িয়ে যেতে এবং একটি নতুন পুনরাবৃত্তি শুরু করতে দেয়৷
৷LOOP এর ব্যবহার প্রদর্শন করতে সংরক্ষিত পদ্ধতি সহ বিবৃতি, নিম্নলিখিতটি একটি সংরক্ষিত পদ্ধতি যা 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 স্টেটমেন্টের ব্লকটি জোড় সংখ্যা দিয়ে স্ট্রিং তৈরি করবে।