mysql只能自定义udf函数,udaf函数不支持自定义.
函数只能返回一个值,并且不能返回结果集
定义语句
create function funcName(参数名 参数类型,参数名 参数类型...) returns 返回类型
begin
xxxx逻辑
end
1 变量的定义:
declare 变量名 变量类型 [defualt 默认值];
不设置default的话,默认值为null;
2 循环判断结构
3 函数查看
show create function 函数名;
show function status like 'xxx'
4 函数的修改
函数不支持内容的修改,需要删除后重新创建.
5 函数的删除
drop function 函数名;
6 函数案例:
实现偶数相加和,如给定10,实现2+4+6+8+10=30
while的实现
delimiter $
drop function if EXISTS myadd $
create function myadd(n int) returns INT
begin
declare a int default 0;
declare b int default 0;
while_name:while a<=n DO
if mod(a,2)=1 then set a:=a+1; ITERATE while_name ; end if;
set b:=b+a;
set a:=a+1;
end while while_name;
return b;
end$
repeat与loop的实现可以参看上方的mysql循环判断结构
链接