1.与存储过程的区别:
函数: 返回值有且仅有一个,适用于处理数据返回一个结果的应用场景
存储过程:返回值不定,适用于批处理
2.创建
create function 函数名(参数列表) returns 返回值类型
begin 函数体
end
注意:
1.参数列表包含2个部分
参数名 返回值类型
2.函数体中必然包含return语句,否则报错
return语句必须放在最后,否则没有意义
3.调用
select 函数名(参数列表)
4.案例
delimiter $
create function f1() returns int
begin
declare c int default 0; /*定义局部变量*/
select count(*) into c from employees; /*赋值*/
return c; /*返回*/
end $
select f1();
delimiter $
create function f2(lastName varchar(20)) returns double
begin
set @sal=0; /*定义用户变量*/
select e.salary into @sal from employees e where e.last_name in (lastName);
return @sal;
end $
select f2('Kochhar') $
5.查看删除
show create function f1;/*查看*/
drop function f1;/*删除*/