什么是 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 语句来向调用者返回一个值。


相关文章