4.儲存過程條件語句
阿新 • • 發佈:2019-02-20
來源:網易雲課堂《精通MySQL儲存過程、函式和觸發器》課程
講師:huangxifeng607(黃錫峰)
筆記:
(1)儲存過程的條件語句
需求:編寫一個儲存過程,如果使用者uid是偶數則給出uname,否則就給出uid
delimiter $$ create procedure testa(IN my_uid int) begin declare my_uname varchar(32) default ''; if(my_uid%2=0) then select uname into my_uname from users where uid=my_uid; select my_uname; else select my_uid; end if; end; $$ delimiter ;
1.條件語句最基本的結果:if() then ...else ...end if;
2.if判斷返回邏輯真或者假,表示式可以是任意返回真或者假的表示式
(2)儲存過程的條件語句應用示例
需求:根據使用者傳入的uid引數判斷
1.如果使用者狀態status為1,則給使用者score加10分
2.如果使用者狀態status為2,則給使用者score加20分
3.其它情況加30分
delimiter $$ create procedure addscore(IN my_uid int) begin declare my_status int default 0; select status into my_status from users where uid=my_uid; if(my_status =1) then update users set score=score+10 where uid=my_uid; else if(my_status =2) then update users set score=score+20 where uid=my_uid; else update users set score=score+30 where uid=my_uid; end if; end; $$ delimiter ;
(3)小結
1.條件語句基本結構:if() then ...else ...end if;
2.多條件判斷結構:
if()
then
...
else if()
then
...
else
...
end if