一、什么是mysql函数
功能与存储过程类似,相当于一组预编译的sql,只是函数有且仅有一个返回,适合做数据处理之后返回一个结果
二、结构
create function 函数名(参数列表) returns 返回类型
begin
函数体
end
三、参数及说明
1、参数列表包含:参数名称 参数类型;
2、函数体:一定会有return语句,没有回报错,return可以放在任意位置,但不建议;
3、如果函数体只有一句话,则可以省略begin end;
4、使用delimiter语句设置结束标记;
四、调用、查看与删除语句
1、调用
select 函数名(参数列表);
2、查看函数
show create function 函数名;
3、删除函数
drop function 函数名;
五、示例
1、无参有返回
#案例:返回公司的员工个数
CREATE FUNCTION myf1() RETURNS INT
BEGIN
DECLARE c INT DEFAULT 0;#定义局部变量
SELECT COUNT(*) INTO c#赋值
FROM employees;
RETURN c;
END $
SELECT myf1()$
2、有参有返回
CREATE FUNCTION myf2(empName VARCHAR(20)) RETURNS DOUBLE
BEGIN
SET @sal=0;#定义用户变量
SELECT salary INTO @sal #赋值
FROM employees
WHERE last_name = empName;
RETURN @sal;
END $
SELECT myf2('k_ing') $