কম্পিউটার

আমি কিভাবে OUT প্যারামিটার দিয়ে MySQL সঞ্চিত পদ্ধতি তৈরি করতে পারি?


এটি বোঝার জন্য আমরা ‘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 প্যারামিটার যা আমরা গণনা করতে চাই এমন বিষয়ের সংখ্যা এবং 'টোটাল' হল 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-এ ডিলিমিটার সহ একটি সঞ্চিত পদ্ধতি তৈরি করুন

  4. MySQL সঞ্চিত-প্রক্রিয়া:আউট প্যারামিটার?