इसे समझने के लिए हम '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 ;
'एस-सब्जेक्ट' 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)