কম্পিউটার

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


MySQL IF স্টেটমেন্ট একটি সঞ্চিত পদ্ধতির মধ্যে একটি মৌলিক শর্তসাপেক্ষ গঠন প্রয়োগ করে। এর সিনট্যাক্স নিম্নরূপ -

IF expression THEN
Statements;
END IF;

এটি একটি সেমিকোলন দিয়ে শেষ হওয়া আবশ্যক৷ MySQL সঞ্চিত পদ্ধতির মধ্যে IF স্টেটমেন্টের ব্যবহার প্রদর্শনের জন্য, আমরা নিম্নোক্ত সংরক্ষিত পদ্ধতি তৈরি করছি যা 'student_info' -

নামের টেবিলের নীচে দেখানো মানগুলির উপর ভিত্তি করে
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’ নামে একটি পদ্ধতি তৈরি করবে যার মধ্যে IF স্টেটমেন্ট থাকবে -

mysql> DELIMITER // ;
mysql> CREATE PROCEDURE coursedetails_IF(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)';
    -> END IF;
    -> END //
Query OK, 0 rows affected (0.00 sec)

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

mysql> Delimiter ; //
mysql> CALL coursedetails_IF('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)

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

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

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

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