我们先来介绍一下 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