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