เพื่อให้เข้าใจ เราใช้ตารางชื่อ '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)
ตอนนี้ ด้วยความช่วยเหลือของคำสั่งต่อไปนี้ เราจะสร้าง stored procedure พร้อมพารามิเตอร์ 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)