mysql的函数基本语法和使用
有且仅有一个返回值,适合做处理数据后的一个结果
存储过程:可以有0或多个返回值,适合做批量插入,更新
创建语法:
CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型
BEGIN
函数体
END
注意:
1、参数列表 包含两部分
2、参数名 参数类型
函数体:肯定会有return语句,如果没有也不会报错
如果return语句没有放在函数体的最后也不会报错,但不建议
return 值;
3、函数体中仅有一句话,则可以省略begin end
4、使用delimiter语句设置结束
查看函数的定义:
show create function 函数名;
删除函数名:
drop function salaryAvg;
没有修改函数。
一、无参有返回的
DELIMITER $
create function myf1() RETURNS int
begin
DECLARE c int default 0;# 定义变量
SELECT COUNT(*) INTO c #赋值
FROM employees;
return c;
end $
DELIMITER ;
调用:SELECT myf1();
二、有参有返回的
#根据员工明返回员工的工资
delimiter $
CREATE FUNCTION myf2(empName varchar(20)) returns double
BEGIN
declare salary double default 0;
SELECT e.salary INTO salary
FROM employees e
WHERE e.last_name=empName;
return salary;
END $
delimiter ;
调用:SELECT myf2('Lorentz');