zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

mysql函数——筑梦之路

mysql 函数 筑梦之路
2023-09-14 09:09:37 时间
函数概念:

一组预编译好的sql集合,理解成批处理语句,必须有返回值。

创建函数:

create function 函数名(参数名称 参数类型)

returns 返回值类型

begin

   函数体

end

 参数可选 返回值必须

调用函数:

select 函数名(实参列表);

删除函数:

drop function [if exists] 函数名;

查看函数详细:

show create function 函数名;

示例 无参函数

创建函数:

/*删除函数*/

drop function if exists fun1;

/*设置结束符*/

delimiter $

/*创建函数*/

create function fun1 ()

   returns INT

   begin

      declare max_id int default 0;

      select max(id) into max_id from t_user;

      return max_id;

 end $

/*设置结束符;*/

delimiter ;

调用:select fun1();


示例2:有参函数
创建函数:
/*删除函数*/
DROP FUNCTION IF EXISTS get_user_id;
/*设置结束符为$*/
DELIMITER $
/*创建函数*/
CREATE FUNCTION get_user_id(v_name VARCHAR(16))
returns INT
BEGIN
DECLARE r_id int;
SELECT id INTO r_id FROM t_user WHERE name = v_name;
return r_id;
END $
/*设置结束符为;*/
DELIMITER ;
运⾏看效果:
mysql> SELECT get_user_id(name) from t_user;


存储过程和函数的区别
存储过程的关键字为procedure,返回值可以有多个,调⽤时⽤call,⼀般⽤于执⾏⽐较
复杂的的过程体、更新、创建等语句。
函数的关键字为function,返回值必须有⼀个,调⽤⽤select,⼀般⽤于查询单个值并返
回。