Stored Procedure สามารถรับพารามิเตอร์เข้า (IN) และส่งค่าออก (OUT) ได้ รูปแบบ:
DELIMITER //
CREATE PROCEDURE yourProcedureName(IN paramName dataType, OUT paramName dataType)
BEGIN
-- statements
END //
DELIMITER ;
ตัวอย่าง: คำนวณรากที่สอง
สร้าง Procedure:
mysql> DELIMITER //
mysql> CREATE PROCEDURE Sp_SQRT(IN Number1 INT, OUT Number2 FLOAT)
-> BEGIN
-> SET Number2 = SQRT(Number1);
-> END;
-> //
mysql> DELIMITER ;
เรียกใช้และรับค่าผลลัพธ์
mysql> CALL Sp_SQRT(36, @MySquareRootNumber);
mysql> SELECT @MySquareRootNumber;
ผลลัพธ์:
+---------------------+
| @MySquareRootNumber |
+---------------------+
| 6 |
+---------------------+
คำอธิบาย: ตัวแปร @MySquareRootNumber เป็น Session Variable (ขึ้นต้นด้วย @) ใช้รับค่าจากพารามิเตอร์ OUT หลัง CALL Procedure เสร็จ