文章目录
分支结构循环结构
流程控制即代码执行结构:顺序结构、分支结构、循环结构
分支结构
分支结构:实现准备多个代码块,按照条件选择性执行某段代码在mysql中只有if分支:基本语法
if 条件判断 then
-- 满足条件要执行的代码; 注意语句需要使用分号结尾
else
--不满足条件要执行的代码;注意语句需要使用分号结尾
end if; -- 注意结尾的分毫
delimiter $$ -- 修改SQL语句结束符号: $$,默认的SQL语句结束符号是分号: ;
-- 创建触发器
create trigger after_orders after insert on orders for each row
begin -- 开始
-- old:代表orders表中当前记录的状态:因为事件类型是insert,old不存在
-- new: 代表触发器指定的`事件类型`执行后的记录状态: new就是新增的那条记录
select inv from goods where id = new.gid into @num; -- 查询库存
if @num < new.gnumber then -- 库存不够
insert into xxx values(xcc); -- 暴力报错:注意分号不能省略
end if; -- 分号不能省略
update goods set inv = inv - new.gnumber where id = new.gid;
end -- 结束
$$ -- SQL语句结束: 整个触发器创建语句结束
delimiter ; -- 还原SQL语句结束符号
循环结构
循环结构:某段代码在指定条件下重复执行mysql只有while循环,没有for循环基本语法:
while 条件判断 do
-- 满足条件要执行的代码;
-- 变更循环变量;
end while; -- 注意结尾的分号不能省略
循环控制:在循环内部进行循环判断和控制mysql中没有对应continue和break,但是有替代品iterate:迭代:类似continue,后面的代码不执行,循环重新来过leave:离开:类似break,整个循环结束
-- 定义循环名字
循环名字: while 条件判断 do
-- 循环体
-- 循环控制
leave/iterate 循环名字
end while;