কম্পিউটার

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


MySQL IF ELSEIF ELSE একাধিক অভিব্যক্তির উপর ভিত্তি করে বিবৃতিগুলি সম্পাদন করুন এর সিনট্যাক্স নিম্নরূপ -

IF expression THEN
   statements;
ELSEIF elseif-expression THEN
   elseif-statements;
… … … …
ELSE
  else-statements;
END IF;

বিবৃতি একটি সেমিকোলন দিয়ে শেষ হওয়া আবশ্যক৷

IF ELSEIF ELSE-এর ব্যবহার প্রদর্শন করতে MySQL সংরক্ষিত পদ্ধতির মধ্যে বিবৃতি, আমরা নিম্নলিখিত সংরক্ষিত পদ্ধতি তৈরি করছি যা 'ছাত্র_তথ্য' -

নামের টেবিলের নীচে দেখানো মানগুলির উপর ভিত্তি করে।
mysql> Select * from student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 125  | Raman   | Shimla     | Computers  |
+------+---------+------------+------------+
3 rows in set (0.00 sec)

নিম্নলিখিত প্রশ্নটি ‘coursedetails_IF_ELSEIF’ নামে একটি পদ্ধতি তৈরি করবে যার IF ELSEIF ELSE আছে এতে বিবৃতি -

mysql> DELIMITER // ;
mysql> CREATE PROCEDURE coursedetails_IF_ELSEIF(IN S_Subject Varchar(20), OUT S_Course varchar(20))
    -> BEGIN
    -> DECLARE Sub Varchar(20);
    -> SELECT Subject INTO SUB
    -> FROM Student_info WHERE S_Subject = Subject;
    -> IF Sub = 'Computers' THEN
    -> SET S_Course = 'B.Tech(CSE)';
    -> ELSEIF Sub = 'History' THEN
    -> SET S_Course = 'Masters in History';
    -> ELSEIF Sub = 'Literature' THEN
    -> SET S_Course = 'Masters in English';
    -> END IF;
    -> END //
Query OK, 0 rows affected (0.00 sec)

এখন, আমরা যখন এই পদ্ধতিটি চালু করি তখন আমরা নীচের ফলাফল দেখতে পাব −

mysql> Delimiter ; //

mysql> CALL coursedetails_IF_ELSEIF('Computers', @S_Course);
Query OK, 1 row affected (0.00 sec)

mysql> Select @S_Course;
+-------------+
| @S_Course   |
+-------------+
| B.Tech(CSE) |
+-------------+
1 row in set (0.00 sec)

mysql> CALL coursedetails_IF_ELSEIF ('Literature', @S_Course);
Query OK, 1 row affected (0.00 sec)

mysql> Select @S_Course;
+--------------------+
| @S_Course          |
+--------------------+
| Masters in English |
+--------------------+
1 row in set (0.00 sec)

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

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

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

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