MySQL基础之函数(十)

    技术2022-07-11  69

    函数

    函数与存储过程区别: 存储过程: 可以有0个和多个返回,适合做批量插入、批量更新。 函数: 只能有一个返回值,适合做处理数据后返回一个结果。 一、创建语法

    create function 函数名(参数列表) returns 返回类型 begin 函数体(也就是sql语句) end 注意: 1.参数列表包含参数名和参数类型。 2.函数体肯定会有return语句。 return; 3.函数体仅有一句话,则可以省略begin end 4.使用delimiter语句设置结束标记。 delimiter $;

    二、调用语法

    select 函数名(参数列表)

    案例:

    1.无参数返回 #查询员工个数 delimiter $ create function myf1() RETURNS int begin DECLARE c int DEFAULT 0; select count(*) into c from employees; return c; end $ select myf1() $; 2.有参返回 #根据员工名返回工资 delimiter $ 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('Kochhar') $ #根据部门名,返回部门的平均工资 delimiter $ create FUNCTION myf3(deptName VARCHAR(20)) RETURNS DOUBLE begin DECLARE sal DOUBLE; select avg(salary) into sal from employees e join departments d on e.department_id=d.department_id where d.department_name=deptName; return sal; end $ select myf3('IT') $;

    三、查看函数

    show create function 函数名;

    四、删除函数

    drop function 函数名;
    Processed: 0.011, SQL: 9