在MySQL中,创建存储函数使用create function关键字:
#语法
create function func_name([param_name type[,...]])
returns type
[characteristic...]
begin
routine_body
end;
说明:
- func_name:存储函数的名称
- param_name type:可选项,指定存储函数的参数,type值类型
- returns type:指定返回值的类型
- characteristic:可选项,指定存储函数的特性
- routine_body:SQL代码内容
#实现
#如果执行存储函数提示函数不被信任,执行以下代码
set global log_bin_trust_function_creators = TRUE; --允许创建函数权限新人
delimiter $$
create function myfunc() returns int
begin
--定义一个局部变量作为返回值
declare i int default 0;
select count(*) into i from student;
return i;
end $$
delimiter ;
-- 调用存储函数
select myfunc();