函数
一、创建语法
create function 函数名(参数列表) returns 返回类型
begin
函数体
end
注意:
1.参数列表 包含两部分:
参数名、参数类型
2.函数体:肯定会有return语句,如果没有会报错
如果return语句没有放在函数体的最后不会报错,但不建议
return 值;
3.函数体中仅有一句话,则可以省略begin end
4.使用delimiter 语句设置结束标记
delimiter $;
二、调用语法
select 函数名(参数列表);
1.无参有返回
1.案例:返回公司的员工个数
create function myf1() returns int
begin
declare c int defeault 0; //定义变量
select count(*) into c //赋值
from employees;
return c;
end $
调用:
select myf1() $
2.有参有返回
案例1:根据员工姓名返回他的工资
create funtion myf2(empname varchar(20)) return double
begin
set @sal = 0; //定义用户变量
select salary into @sal //赋值
from employees
where last_name = empname;
return @sal;
end $
调用:
select myf2(‘kochar’)$
案例2:根据部门名,返回部门的平均工资
create function myf3(deptname varchar(20)) return double
begin
declare sal double ;
sekect avg(salary) into sal
from employees e
join department d on e.department_id = d.department_id
where d.department_name = deptname;
return sal;
end $
select myf3(‘IT’) $
查看函数
show create function myf3;
删除函数
drop function myf3;
案例
1.创建函数传入两个float,返回两者之和
create function test_fun1(num1 float,num2 float) return float
begin
declare sum float default 0; //定义变量类型
set sum=num1+num2;
return sum;
end $
调用:
select test_fun1(1,2) $