create function 函数名(参数1 参数类型, 参数2 参数类型) returns 返回值类型
begin
declare 变量 变量类型;
set 变量 = 变量值;
select...into 变量;
return 表达式/结果/查询;
end
修改函数
不能修改函数的结构,只能修改特征和备注
alter function 函数名[函数特征] comment '备注'
删除函数
drop function id exists 函数名;
查看函数
show create function 函数名;
调用自定义函数
通过select语句调用
sql实操:
//创建自定义函数
create function hello returns varchar(64)
begin
delcare str varchar(64);//声明局部变量
set str = 'hello world';
return str;
end;
//使用函数
select hello() from dual;
//创建一个加法函数
create function plus(a int(20), b int(20)) returns int(21)
begin
return a + b;
end;
select plus(1, 4) from dual;
//99乘法表
create function table99() returns text
begin
declare i int(11);
delcare j int(11);
delcare str text;
set i = 1;
set str = '';
while i <= 9 do
set j = 1;
while j <= i do
set str = concat(str,j,'*',i,'=',(i * j),'\t');
set j = j + 1;
end while;
set str = concat(str, '\r\n');
set i = i + 1;
end while;
return str;
end;
select table99() from dual;