来源:网易云课堂《精通MySQL存储过程、函数和触发器》课程
讲师:huangxifeng607(黄锡峰)
笔记:
(1)自定义函数示例01
1.需求:输入用户ID,获得accountid, uid, uname组合的UUID值,在全区游戏中作为用户的唯一标识
delimiter $$
create function getuuid(my_uid int) returns varchar(30) charset utf8
reads sql data #表示子程序包含读数据的语句,但不包含写数据的语句
begin
declare uuid varchar(32) default '';
select concat(accountid, '_',uid,'_', uname) into uuid from users where uid=my_uid;
return uuid;
end;
#调用
select getuuid(2)
(2)自定义函数示例02
1.需求:输入参数uid,计算uid所在账号下的所有游戏角色的金币总量
delimiter $$
create function statgold(my_uid int) returns int
reads sql data
begin
declare my_accountid int default 0;
declare gold_sum int default 0;
select accountid into my_accountid from users where uid=my_uid;
select sum(gold) into gold_sum from users where accountid=my_accountid;
return gold_sum;
end;
$$
delimiter ;
#调用
select statgold(2)
1.自定义函数综合应用示例