您的位置:首页 > 数据库 > SQL

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

2011-07-28 11:44 465 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: