8存储函数:
存储的函数是返回单个值的特殊类型的存储程序。您使用存储的函数来封装在SQL语句或存储的程序中可重用的常用公式或业务规则。
与
存储过程
不同,您可以在SQL语句中使用存储的函数,也可以在表达式中使用。 这有助于提高程序代码的可读性和可维护性。
MySQL存储函数语法
以下说明了创建新存储函数的最简单语法:
CREATE FUNCTION function_name(param1,param2…)
RETURNS datatype
[NOT] DETERMINISTIC
statements
SQL
首先
,在CREATE FUNCTION子句之后指定存储函数的名称。
其次
,列出括号内存储函数的所有
参数
。 默认情况下,所有参数均为IN参数。不能为参数指定IN,OUT或INOUT修饰符。
第三
,必须在RETURNS语句中指定返回值的数据类型。它可以是任何有效的
MySQL数据类型
。
第四
,对于相同的输入参数,如果存储的函数返回相同的结果,这样则被认为是确定性的,否则存储的函数不是确定性的。必须决定一个存储函数是否是确定性的。 如果您声明不正确,则存储的函数可能会产生意想不到的结果,或者不使用可用的优化,从而降低性能。
第五
,将代码写入存储函数的主体中。 它可以是单个语句或复合语句。 在主体部分中,必须至少指定一个RETURN语句。RETURN语句用于返回一个值给调用者。 每当到达RETURN语句时,存储的函数的执行将立即终止。