史上最简单的 MySQL 教程(四十二)「代码执行结构」

释放双眼,带上耳机,听听看~!

代码执行结构

在 MySQL 编程中,代码的执行结构有三种,分别为:

  • 顺序结构;
  • 分支结构;
  • 循环结构。

顺序结构,自不必多说,在本文中,我们着重了解分支结构和循环结构。

分支结构

分支结构:事先准备多个代码块,通过判断条件是否满足,执行对应的代码。

在 MySQL 中,只有if分支结构,其基本语法为:


1
2
3
4
5
6
7
1if 条件判断 then
2   -- 满足条件时,要执行的代码
3else -- 可以没有 else 语句
4   -- 不满足条件时,要执行的代码
5end if;
6
7

接下来,我们利用触发器和if分支,完成这样的需求:

  • 在生成订单前,判断商品的库存是否满足,如果满足,则插入订单;否则,插入失败。

依次执行如下 SQL 语句,进行测试:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1-- 查看商品表
2select * from goods;
3-- 查看订单表
4select * from orders;
5-- 修改语句结束符
6delimiter $$
7-- 创建触发器
8create trigger before_order before insert on orders for each row
9begin
10  -- 判断商品库存是否满足订单
11  -- 通过商品表获取商品库存量
12  select inventory from goods where id = NEW.goods_id into @inventory;
13  -- 比较库存
14  if @inventory < NEW.goods_number then
15      -- 库存不够,由于触发器不能阻止事件发生,因此我们只能暴力报错
16      insert into XXX values(XXX);
17  end if;
18end
19$$
20-- 恢复语句结束符
21delimiter ;  
22
23

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索