4.存储过程条件语句

来源:互联网 发布:如何做好淘宝客服工作 编辑:程序博客网 时间:2024/06/06 02:58

来源:网易云课堂《精通MySQL存储过程、函数和触发器》课程

讲师:huangxifeng607(黄锡峰)


笔记:


(1)存储过程的条件语句

需求:编写一个存储过程,如果用户uid是偶数则给出uname,否则就给出uid


delimiter $$create procedure testa(IN my_uid int)begindeclare 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)begindeclare 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


阅读全文
0 0