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)