ฟังก์ชันที่เก็บไว้ 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 อย่างน้อยหนึ่งคำสั่งภายในเนื้อหาของฟังก์ชันเพื่อคืนค่าให้กับผู้เรียก