概念
一般用于计算和返回一个值,可以将经常需要使用的计算或功能写成一个函数
语法
CREATE FUNCTION func_name ([param_name type[,...]])
RETURNS type
[characteristic ...]
BEGIN
routine_body
END;
参数说明
- func_name :存储函数的名称
- param_name type:可选项,指定存储函数的参数。type参数用于指定存储函数的参数类型,该类型可以是MySQL数据库中所有支持的类型
- RETURNS type:指定返回值的类型
- characteristic:可选项,指定存储函数的特性
- routine_body:SQL代码内容。包含局部变量、逻辑代码、sql语句…
调用
SELECT func_name([parameter[,…]]);
删除
DROP FUNCTION IF EXISTS func_name;
实例
和存储过程本质区别
1、存储函数有返回值,而存储过程没有返回值。
2、如果存储过程想实现有返回值的业务,我们就必须使用out类型的参数。