流程控制结构
一、条件分支结构
IF语句
CASE 语句
IF ELSE
语法:
IF 条件1 THEN 语句集合
【ELSEIF 条件2 THEN 语句集合】
【ELSE 语句集合】
END IF; 注意有空格
注意:形参中的变量如果和存储过程中的局部变量同名,会“覆盖”;
形参变量在存储过程中无大小写的要求;
CASE
语法
Case 变量
When 变量取值1 then 语句集合
When 变量取值2 then 语句集合
Else 语句集合
End case;
Case
When 变量与值1表达式 then 语句集合
When 变量与值2表达式 then 语句集合
Else 语句集合
End case;
二、循环语句
while语句
repeat语句
loop语句
Create procedure p1()
Begin
Declare v int;
Set v=0;
While v<5 do ------------循环的入口(必须满足的条件)
Insert into t1 values(v);
Set v=v+1; -------------循环的出口(退出循环的条件)
End while;
End//
Call p1();//
Select * from t1;//
提醒:执行结束后的系统返回是针对最后一条insert语句;
Create procedure p2()
Begin
Declare v int;
Set v=0;
Repeat
Insert into t1 values(v);
Set v=v+1; ----------出口条件
Until v>5; ----------入口条件
End repeat;
End//
Create procedure p3()
Begin
Declare v int;
Set v=0;
Loop_label:LOOP
Insert into t1 values(v);
Set v=v+1;
If v>5 then
Leave loop_label;
End if;
End loop;
End//
除了以上三种循环之外还有一种GOTO语句,这个语句已经被淘汰,不推荐使用,因为他是强制性的转向,会使程序混乱。