什么是MySQL存储函数,如何创建它们?
MySQL存储函数基本上是一种特殊的存储程序,它返回一个单一的值。我们可以在MySQL中使用存储函数来封装主要是可重用的简单公式或业务规则,这些规则可以在SQL语句或存储程序之间重复使用。除此之外,只要使用表达式就可以在SQL语句中使用存储函数。
存储函数的这个特性与存储过程不同。实际上,存储函数参数相当于存储过程的IN参数,因为函数使用RETURN关键字来确定传回什么。其语法可以如下所示 –
阅读更多:MySQL 教程
语法
CREATE
[DEFINER = { user | CURRENT_USER }]
FUNCTION sp_name ([func_parameter[,...]])
RETURNS type
[characteristic ...] routine_body
func_parameter:
param_name type
type:
任何有效的MySQL数据类型
characteristic:
COMMENT 'string'
| LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
routine_body:
有效的SQL例程声明
函数只有输入参数并返回一个值,因此在函数定义中必须有一个RETURNS子句来指示返回值的数据类型。此外,函数体内必须至少有一个RETURN语句将值返回给调用者。