[轉]mysql 控制語句(if,loop ,leave,iterate,while)

來源:互聯網
上載者:User
FROM : http://blog.chinaunix.net/space.php?uid=21144244&do=blog&cuid=1923636           http://wwty.iteye.com/blog/698210我們先來介紹一下 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就是 繼續迭代

 

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.