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

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

বুঝানোর জন্য '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)

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

mysql> DELIMITER // ;
mysql> CREATE PROCEDURE subjects (IN S_Subject VARCHAR(25), OUT total INT)
    -> BEGIN
    -> SELECT COUNT(subject) INTO total
    -> FROM student_info
    -> WHERE subject = S_subject;
    -> END //
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;

'S_Subject' হলো IN প্যারামিটার যেটি আমরা গণনা করতে চাই এবং 'total' হলো OUT প্যারামিটার যেটি নির্দিষ্ট সাবজেক্টের সংখ্যা সংরক্ষণ করবে।

mysql> CALL subjects('Computers', @total);
Query OK, 1 row affected (0.02 sec)
mysql> SELECT @total;
+--------+
| @total |
+--------+
| 1      |
+--------+
1 row in set (0.01 sec)
mysql> CALL subjects('History', @total);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT @total;
+--------+
| @total |
+--------+
| 2      |
+--------+
1 row in set (0.00 sec)
  1. MySQL স্টোরড প্রোসিডিউয়ার তৈরি করে ফ্যাক্টোরিয়াল ক্যালকুলেট করা

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

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

  4. MySQL স্টোরড প্রোসিজার: আউট প্যারামিটার (OUT Parameter) ব্যবহার