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