ฟังก์ชันที่เก็บไว้ MySQL นั้นเป็นโปรแกรมจัดเก็บชนิดพิเศษที่คืนค่าเพียงค่าเดียว เราสามารถใช้ฟังก์ชันที่เก็บไว้ใน MySQL เพื่อสรุปสูตรง่ายๆ เป็นหลักหรือกฎเกณฑ์ทางธุรกิจที่นำมาใช้ซ้ำได้ระหว่างคำสั่ง SQL หรือโปรแกรมที่เก็บไว้ นอกเหนือจากนั้นฟังก์ชันที่เก็บไว้จะถูกใช้ในคำสั่ง SQL ทุกครั้งที่มีการใช้นิพจน์
คุณลักษณะของฟังก์ชันที่เก็บไว้นี้แตกต่างจากกระบวนงานที่เก็บไว้ ที่จริงแล้ว พารามิเตอร์ฟังก์ชันที่เก็บไว้นั้นเทียบเท่ากับพารามิเตอร์ IN ของกระบวนงานที่เก็บไว้ เนื่องจากฟังก์ชันใช้คีย์เวิร์ด RETURN เพื่อกำหนดสิ่งที่ส่งกลับ ไวยากรณ์ของมันสามารถเป็นดังนี้ -
ไวยากรณ์
CREATE
[DEFINER = { user | CURRENT_USER }]
FUNCTION sp_name ([func_parameter[,...]])
RETURNS type
[characteristic ...] routine_body
func_parameter:
param_name type
type:
Any valid MySQL data type
characteristic:
COMMENT 'string'
| LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
routine_body:
Valid SQL routine statement ฟังก์ชันมีเฉพาะพารามิเตอร์อินพุตและส่งคืนค่า ดังนั้นจึงต้องมีส่วนคำสั่ง RETURNS ในคำจำกัดความของฟังก์ชันเพื่อระบุประเภทข้อมูลของค่าตอบแทน นอกจากนี้ ต้องมีคำสั่ง RETURN อย่างน้อยหนึ่งคำสั่งภายในเนื้อหาของฟังก์ชันเพื่อคืนค่าให้กับผู้เรียก