什么是MySQL存储函数,我们如何创建它们?

MySQL存储函数基本上是一种返回单个值的特殊存储程序。我们可以在MySQL中使用存储函数来封装主要的简单公式或业务规则,这些规则或业务规则可在SQL语句或存储程序之间重用。每当使用表达式时,都会在SQL语句中使用这些存储功能以外的功能。

存储功能的此功能不同于存储过程。实际上,由于函数使用RETURN关键字确定传回的内容,因此存储的函数参数等效于存储过程的IN参数。它的语法可以如下-

语法

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语句才能将值返回给调用方。

猜你喜欢