day15:函数

函数

含义:一组预先编译好的SQL语句的集合,可以理解成批处理语句

好处:1、提高代码的重用性   2、简化操作  3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率

函数和存储过程的区别:

  存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新

  函数:有且仅有1个返回,适合做处理数据后返回一个结果

一、创建语法

create  function  函数名(参数列表) returns  返回类型

begin

  函数体

end;

注意:

  1、参数列表包含两部分:参数名    参数类型

  2、函数体:肯定会有return语句,如果没有会报错。如果return语句没有放在函数体的最后也不会报错,但不建议

return 值;

  3、函数体中仅有一句话,则可以省略begin  and

二、调用语法

select  函数名(参数列表)

(1)、无参有返回

例如:返回公司的员工个数

create function myf1() returns int
BEGIN
    declare c int default 0;
    select count(*) into c
    from employee;
    return c;
end; 

调用

select myf1(); 

(2)、有参有返回

例如:根据员工名,返回对应的工资

create function myf2(ename varchar(55)) returns int 
BEGIN
    set @pay=0;
    select e.pay into @pay
    from employee e where e.ename=ename;
    return @pay;
end;

调用

select myf2('老王');

三、查看函数

语法:show  create  function  函数名;

例如:

show create function myf2;

四、删除函数

语法:drop  function  myf2;

例如:

drop function myf1;

猜你喜欢

转载自www.cnblogs.com/wuguiyu/p/11776435.html