3.函数

函数:一组雨欣编译好的sql语句集合,理解成批处理语句
    1 提高代码的重用性
    2 简化操作
    3 减少编译次数并且减少了和数据库服务器的连接次数,提高效率
和存储过程的区别:
    存储过程:可以有0个返回,也可以有多个返回。适合做批量的插入、批量的更新
    函数:只能有一个返回,适合做处理数据后返回一个结果
    
1.创建语法:
    CREATE FUNCTION 函数名(参数列表) RETURNS 返回值类型
    BEGIN
        函数体
    END
    注意:
        1.参数列表包含两部分
             参数名  参数类型
         2.函数体:肯定会有return语句,如果没有就会报错
           如果return语句没有放在函数体的最后也不会报错,但是不建议
           return 值;
         3. 函数体中仅有一句话,则可以省略begin end
         4.使用delimiter语句设置结束标记
2.调用:
    SELECT 函数名(参数列表);
    存储过程是:
        call 存过名称(参数列表);
        
        
3.样例:
    3.1无参
        场景:查询表中数量并返回
        1.声明:returns 记得后面是s
            create function myp1() returns int 
            begin
                #定义局部变量返回值
            	declare num int default 0;
                 #给局部变量赋值
            	select count(1) into num
            	from user;
                 #返回局部变量
            	return num;
            end
        2.调用:
            select myp1();
    
    3.2有参:
        场景:根据出入的名称,查询年龄并返回
        CREATE DEFINER=`root`@`%` FUNCTION `myf2`(name varchar(20)) RETURNS int
        begin 
            #定义返回参数
        	declare age int default 0;
            #根据传值查询并赋值
        	select t.age into age  
        	from user t
        	where t.name =name;
            #返回
        	return age;
        end
        调用:    
        select myf2('吴孟达');        
        
        

查看函数定义:
show create funcation 函数名;

删除函数:
drop function 函数名;

 

posted @ 2022-05-25 20:42  努力的达子  阅读(36)  评论(0)    收藏  举报