কম্পিউটার টিউটোরিয়াল

MySQL স্টোরড প্রোসিজার IN প্যারামিটারসহ কীভাবে তৈরি করবেন?

বুঝানোর জন্য 'student_info' নামক টেবিল ব্যবহার করা হলো, যাতে নিচের মানগুলো আছে:

mysql> SELECT * FROM student_info;
+-----+---------+------------+------------+
| id  | Name    | Address    | Subject    |
+-----+---------+------------+------------+
| 101 | YashPal | Amritsar   | History    |
| 105 | Gaurav  | Jaipur     | Literature |
| 110 | Rahul   | Chandigarh | History    |
| 125 | Raman   | Shimla     | Computers  |
+------+---------+------------+------------+
4 rows in set (0.00 sec)

এখন, নিচের কোয়েরি দিয়ে IN প্যারামিটারসহ একটি স্টোরড প্রোসিজার তৈরি করব যা নাম প্যারামিটার হিসেবে নিয়ে সে ছাত্রের সব বিবরণ দেখাবে।

mysql> DELIMITER // ;
mysql> CREATE PROCEDURE detail(IN S_Name VARCHAR(20))
    -> BEGIN
    -> SELECT * FROM Student_info WHERE Name = S_Name;
    -> END //
Query OK, 0 rows affected (0.16 sec)
mysql> DELIMITER ;

S_Name হলো 'detail' স্টোরড প্রোসিজারটির IN প্যারামিটার। যদি আমরা 'Gaurav' নামক ছাত্রের সব বিবরণ দেখতে চাই, তবে নিচের কোয়েরি দিয়ে করা যায়:

mysql> CALL detail('Gaurav');
+-----+--------+---------+------------+
| id  | Name   | Address | Subject    |
+-----+--------+---------+------------+
| 105 | Gaurav | Jaipur  | Literature |
+-----+--------+---------+------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
mysql> CALL detail('Raman');
+-----+-------+---------+-----------+
| id  | Name  | Address | Subject   |
+-----+-------+---------+-----------+
| 125 | Raman | Shimla  | Computers |
+-----+-------+---------+-----------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
  1. MySQL স্টোরড প্রোসিডিউয়ার তৈরি করে ফ্যাক্টোরিয়াল ক্যালকুলেট করা

  2. সাবকোয়েরি ব্যবহার করে MySQL ভিউ তৈরি করা

  3. RIGHT JOIN ব্যবহার করে MySQL ভিউ তৈরি করা

  4. MySQL-এ DELIMITER ব্যবহার করে স্টোরড প্রোসিডিউর তৈরি করা