কম্পিউটার

কিভাবে MySQL LOOP স্টেটমেন্ট একটি সংরক্ষিত পদ্ধতিতে ব্যবহার করা যেতে পারে?


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 স্টেটমেন্টের ব্লকটি জোড় সংখ্যা দিয়ে স্ট্রিং তৈরি করবে।


  1. কিভাবে একটি MySQL সঞ্চিত পদ্ধতি এটির ভিতরে অন্য MySQL সঞ্চিত পদ্ধতিকে কল করতে পারে?

  2. মাইএসকিউএল সংরক্ষিত পদ্ধতিতে কীভাবে লুপ ব্যবহার করবেন?

  3. কিভাবে MySQL এ একটি সঞ্চিত পদ্ধতির মাধ্যমে লুপ করবেন?

  4. MySQL এ নির্বাচন বিবৃতি ব্যবহার করে একটি সঞ্চিত পদ্ধতিকে কীভাবে কল করবেন?