存储过程条件语句(4)

存储过程的条件语句

需求:编写存储过程,如果用户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判断返回逻辑真或者假,表达式可以是任意返回真或者假的表达式

需求:根据用户传入的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;
  elseif(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 ;

1.条件语句基本结构:if() then …else…end if;
2.多条件判断结构:
     if()
     then
        …
     elseif()
     then
        ….
      else
         …
      end if

原文地址:https://www.cnblogs.com/lirunsheng/p/10982056.html