1. 程式人生 > >8.自定義函式綜合應用示例

8.自定義函式綜合應用示例

來源:網易雲課堂《精通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)
(3)小結

1.自定義函式綜合應用示例