Stored function là chương trình lưu trữ đặc biệt trả về một giá trị đơn. Dùng để đóng gói công thức, quy tắc nghiệp vụ tái sử dụng trong SQL hoặc stored program. Khác procedure: function dùng trong biểu thức (expression).
Tham số function tương đương tham số IN của procedure. Dùng RETURN để trả giá trị.
Cú pháp
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
Bắt buộc: RETURNS type chỉ định kiểu trả về, và ít nhất một RETURN trong body.