什么是 MySQL 存储函数?我们如何创建它们?
mysqlmysqli database
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 语句来向调用者返回一个值。