代码执行结构
在 MySQL 编程中,代码的执行结构有三种,分别为:
- 顺序结构;
- 分支结构;
- 循环结构。
顺序结构,自不必多说,在本文中,我们着重了解分支结构和循环结构。
分支结构
分支结构:事先准备多个代码块,通过判断条件是否满足,执行对应的代码。
在 MySQL 中,只有if
分支结构,其基本语法为:
if 条件判断 then
-- 满足条件时,要执行的代码
else -- 可以没有 else 语句
-- 不满足条件时,要执行的代码
end if;
接下来,我们利用触发器和if
分支,完成这样的需求:
- 在生成订单前,判断商品的库存是否满足,如果满足,则插入订单;否则,插入失败。
依次执行如下 SQL 语句,进行测试:
-- 查看商品表
select * from goods;
-- 查看订单表
select * from orders;
-- 修改语句结束符
delimiter $$
-- 创建触发器
create trigger before_order before insert on orders for each row
begin
-- 判断商品库存是否满足订单
-- 通过商品表获取商品库存量
select inventory from goods where id = NEW.goods_id into @inve