mysql 控制语句(if,loop ,leave,iterate,while)

转载自:https://www.cnblogs.com/gzchenjiajun-php/articles/4868896.html

我们先来介绍一下 oracle 的控制语句吧

if else elsif while for loop

而在mysql中的控制语句是:

if else elseif while loop repeat leave iterate

下面通过例子说明:

delimiter //
create procedure pro
begin
 declare @a int default 5;
 if @a>2 then
   select @a;
 elseif @a<5 then
  select 2;
 end if;
end
//

一、下面是 loop的使用

   loop的使用 要结合leave 和 iterate

   看到名字 都已经大概 猜测到了 意思

  leave 就是离开退出循环 而 iterate就是结束本次循环进行下一次

与if 、end if配合使用

而LEAVE表示离开循环,好比编程里面的break一样;

ITERATE则继续循环,好比编程里面的continue一样。

delimiter //
create procedure pro
begin
 declare a int default 1;
 label1: loop
    if a<6 then
     select a;
     set a=a+1;
  iterate label1;
    end if;
    leave label1;
   end loop label1;
end
//

二、下面一个就是 repeat拉

delimiter //
create procedure pro
begin
  declare a int default 3;
  repeat
   select a;
   set a=a+1;
  untile a>5 end repeat;
end
//

三、最后一个就是while语句啦  

delimiter //
create procedure pro
begin
 declare a int default 4;
 while a<10 do
   select a;
   set a=a+1;
 end while;
end
//

从上面我给出的例子 可以看出来 和oracle的区别 还是很大的

 赋值是通过 set 而不是通过:=  声明变量是通过declare来在BEGIN块中来声明的

oracle中有for 并且 大部分都是用的loop语句

  for i in 1..5

      loop

       语句

end loop;

  while a>5

    loop

 end loop;

loop

   exit when();

 end loop

猜你喜欢

转载自blog.csdn.net/myfmyfmyfmyf/article/details/106841699