mysql存储过程 条件判断/循环语句

1.存储过程的条件语句

需求:编写存储过程,如果用户my_userId ='APP-2016-00494878'就给出my_userName,

如果用户my_userId ='APP-2016-7777777'就给出 user_age,

其他情况返回my_userId

delimiter $$
create procedure testf(IN my_userId varchar(32))
begin
  declare my_userName varchar(32) DEFAULT'';

  if(my_userId ='APP-2016-00494878')
  then
      select user_name into my_userName from p_app_user where user_id = my_userId;
      select my_userName;
  elseif(my_userId ='APP-2016-7777777')
  then
      select user_age into my_userName from p_app_user where user_id = my_userId;
      select my_userName;
else
      select my_userId;
    end if;
end;
$$
delimiter ;

条件判断语句结构:

1.条件语句最基本的结构:if()then…else…end if;

2.多条件判断结构:if()then…elseif()then…else…end if;

3.if判断返回逻辑真或者假,表达式可以是任意返回真或假的表达式


2.While循环语句

需求:使用循环语句,向表testa(uid)中插入10条连续的记录

delimiter $$
create procedure insertdata1()
begin
  declare i int DEFAULT 0;
  while(i<10) DO
  begin
    select i;
    set i=i+1;
    insert into testa(uid) VALUES(i);
  end;
  end while;
end;
$$
delimiter ;

While循环语句:

1.while语句最基本的结构:while() do …begin…end; end while;

2.while判断返回逻辑真或者假,表达式可以是任意返回真或者假的表达式

  

3.repeat循环语句

需求:使用repeat循环像表插入10条uid连续的记录

delimiter $$
create procedure insertdata1()
begin
  declare i int DEFAULT 100;
  repeat
  begin
    select i;
    set i=i+1;
    insert into testa(uid) VALUES(i);
  end;
  until i>=110
  end repeat;
end;
$$
delimiter ;

repeat循环语句

1.repeat语句最进本的结构:repeat…begin…end; until… end repeat;

2.until判断返回逻辑真或者假,表达式可以是任意返回真或者假的表达式

只有当until语句为真时,循环才结束。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值