พารามิเตอร์ทำให้ stored procedure มีประโยชน์และยืดหยุ่นมากขึ้น ใน MySQL เรามีโหมด 3 แบบดังนี้
โหมด IN
เป็นโหมดเริ่มต้น เมื่อเรากำหนดพารามิเตอร์ IN ใน stored procedure โปรแกรมเรียกต้องส่ง argument ให้ stored procedure ค่าของพารามิเตอร์ IN ได้รับการป้องกัน หมายถึง แม้ค่าของพารามิเตอร์ IN จะเปลี่ยนแปลงภายใน stored procedure ค่าเดิมของมันจะถูกเก็บรักษาหลัง stored procedure จบลง
โหมด OUT
ค่าของพารามิเตอร์ OUT สามารถเปลี่ยนแปลงภายใน stored procedure และค่าใหม่จะถูกส่งกลับไปยังโปรแกรมเรียก ต้องสังเกตว่า stored procedure ไม่สามารถเข้าถึงค่าเริ่มต้นของพารามิเตอร์ OUT ได้เมื่อเริ่มต้น
โหมด INOUT
พารามิเตอร์ INOUT เป็นการรวมของพารามิเตอร์ IN และ OUT หมายถึง โปรแกรมเรียกอาจส่ง argument และ stored procedure สามารถแก้ไขพารามิเตอร์ INOUT และส่งค่าใหม่กลับไปยังโปรแกรมเรียก
รูปแบบไวยากรณ์สำหรับการกำหนดพารามิเตอร์
รูปแบบไวยากรณ์ของการกำหนดพารามิเตอร์ใน stored procedure มีดังนี้
MODE parameter_name parameter_type(parameter_size)
ที่นี่ MODE สามารถเป็น IN, OUT หรือ INOUT ขึ้นอยู่กับวัตถุประสงค์ของพารามิเตอร์ใน stored purpose
- Parameter_name คือชื่อของพารามิเตอร์
- Parameter_type คือชนิดข้อมูลของพารามิเตอร์
- Parameter_size คือขนาดของพารามิเตอร์