createprocedurepro_9(in num int)begincasenumwhen 1 thenselect '杀马特' as '气质';
when 2thenselect'屌丝'as'气质';
when 3thenselect'正常人'as'气质';
when 4thenselect'贵族'as'气质';
elseselect'输入不正确'as'气质';
endcase;
end//
call pro_9(0)//
loop遇到leave退出
createprocedureproc(in num int)begindeclaretotalintdefault 0;
declare i int default0;
sign:loopset total=total+i;
set i=i+1;
if i>=num then
leave sign;# leave=breakendif;
endloop;
select total from dual;
end//
call proc(100)//
#如果没有设置标签名,leave loop
#sign是循环名,用于结束循环,可以自己随意取名字
(4)while循环
#语法:while 条件 do//代码
end while
createprocedurepro_11(in num int)begindeclaretotalintdefault 0;
declare i int default0;
while num>=i doset total=total+i;
set i=i+1;
endwhile;
select total from dual;
end//
call pro_11(100)//
(5)repeat循环
#语法repeat
代码
until 条件 -- 直重复到条件为true才结束endrepeat
createprocedurepro_12(in num int)begindeclaretotalintdefault 0;
declare i int default0;
repeatset total=total+i;
set i=i+1;
until i>num
endrepeat;
select total from dual;
end//
call pro_12(100)//
(6)leave和iterate
leave类似于break,iterate类似于continue
createprocedurepro_13()begindeclareiintdefault 0;
sign:while i<5doset i=i+1;
if(i=3) then
leave sign; -- 类似于break
#iterate sign; -- 类似于continueendif;
select i from dual;
endwhile;
end//
call pro_13()//
MySql1.SQL编程(了解)(1) if-elseif-else语句#语法:if 条件 then //代码1elseif 条件 then //代码2else //代码3end if;create procedure pro_8(in grade int)begin if grade=1 then select ...