知名商城网站建设,单位网站建设要多少钱,wordpress 身份认证,小程序开发平台哪家价格低if if 用于做条件判断#xff0c;具体的语法结构如下#xff0c;在 if 条件判断的结构中#xff0c; ELSE IF 结构可以有多个#xff0c;也可以没有。 ELSE 结构可以有#xff0c;也可以没有。 IF 条件1 THEN
.....
ELSEIF 条件2 THEN -- 可选
.....
ELSE -- 可选
.....…if if 用于做条件判断具体的语法结构如下在 if 条件判断的结构中 ELSE IF 结构可以有多个也可以没有。 ELSE 结构可以有也可以没有。 IF 条件1 THEN
.....
ELSEIF 条件2 THEN -- 可选
.....
ELSE -- 可选
.....
END IF; 案例 create procedure p3()
begin
declare score int default 58;
declare result varchar(10);
if score 85 thenset result : 优秀;
elseif score 60 thenset result : 及格;
elseset result : 不及格;
end if;
select result;
end;
call p3(); case 如果判定条件有多个多个条件之间可以使用 and 或 or 进行连接。 方法一 -- 含义 当case_value的值为 when_value1时执行statement_list1当值为 when_value2时
执行statement_list2 否则就执行 statement_list
CASE case_value
WHEN when_value1 THEN statement_list1
[ WHEN when_value2 THEN statement_list2] ...
[ ELSE statement_list ]
END CASE; 方法二 -- 含义 当条件search_condition1成立时执行statement_list1当条件search_condition2成
立时执行statement_list2 否则就执行 statement_list
CASE
WHEN search_condition1 THEN statement_list1
[WHEN search_condition2 THEN statement_list2] ...
[ELSE statement_list]
END CASE; 案例 create procedure p6(in month int)
begin
declare result varchar(16);
casewhen month 1 and month 3 thenset result : 第一季度;when month 4 and month 6 thenset result : 第二季度;when month 7 and month 9 thenset result : 第三季度;when month 10 and month 12 thenset result : 第四季度;elseset result : 非法参数;end case ;select concat(您输入的月份为: ,month, , 所属的季度为: ,result);
end;
call p6(16); while while 循环是有条件的循环控制语句。满足条件后再执行循环体中的 SQL 语句。 -- 先判定条件如果条件为true则执行逻辑否则不执行逻辑
WHILE 条件 DOSQL逻辑...
END WHILE; 案例 -- A. 定义局部变量, 记录累加之后的值;
-- B. 每循环一次, 就会对n进行减1 , 如果n减到0, 则退出循环
create procedure p7(in n int)begindeclare total int default 0;while n0 doset total : total n;set n : n - 1;end while;select total;end;
call p7(100); repeat repeat 是有条件的循环控制语句 , 当满足 until 声明的条件的时候则退出循环 -- 先执行一次逻辑然后判定UNTIL条件是否满足如果满足则退出。如果不满足则继续下一次循环
REPEATSQL逻辑...UNTIL 条件
END REPEAT; 案例 -- A. 定义局部变量, 记录累加之后的值;
-- B. 每循环一次, 就会对n进行-1 , 如果n减到0, 则退出循环
create procedure p8(in n int)begindeclare total int default 0;repeatset total : total n;set n : n - 1;until n 0end repeat;select total;end;
call p8(10);
call p8(100); loop LOOP 实现简单的循环如果不在 SQL 逻辑中增加退出循环的条件可以用其来实现简单的死循环。LOOP可以配合一下两个语句使用 LEAVE 配合循环使用退出循环。 ITERATE必须用在循环中作用是跳过当前循环剩下的语句直接进入下一次循环。 [begin_label:] LOOPSQL逻辑...
END LOOP [end_label];LEAVE label; -- 退出指定标记的循环体
ITERATE label; -- 直接进入下一次循环 案例
-- A. 定义局部变量, 记录累加之后的值;
-- B. 每循环一次, 就会对n进行-1 , 如果n减到0, 则退出循环 ---- leave xx
create procedure p9(in n int)begindeclare total int default 0;sum:loopif n0 thenleave sum;end if;set total : total n;set n : n - 1;end loop sum;select total;end;
call p9(100);