কম্পিউটার

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


MySQL যদি অন্যথায়৷ বিবৃতিটি একটি মৌলিক শর্তসাপেক্ষ গঠন প্রয়োগ করে যখন অভিব্যক্তিটি মিথ্যাতে মূল্যায়ন করে। এর সিনট্যাক্স নিম্নরূপ -

IF expression THEN
   statements;
ELSE
   else-statements;
END IF;

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

IF 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_IFELSE’ নামে একটি পদ্ধতি তৈরি করবে যার মধ্যে IF ELSE বিবৃতি আছে -

mysql> DELIMITER // ;
mysql> CREATE PROCEDURE coursedetails_IFELSE(IN S_Subject Varchar(20), OUT S_Course varchar(50))
   -> 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)';
   -> ELSE
   -> SET S_Course = 'Subject Not in the table ';
   -> END IF;
   -> END //
Query OK, 0 rows affected (0.00 sec)

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

mysql> Delimiter ; //
mysql> CALL coursedetails_IFELSE('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_IFELSE ('History', @S_Course);
Query OK, 0 rows affected (0.00 sec)

mysql> Select @S_Course;
+--------------------------------+
| @S_Course                      |
+--------------------------------+
| Subject Not in the table       |
+--------------------------------+
1 row in set (0.00 sec)

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

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

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

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