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

代码执行结构

在 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 @inventory;
	-- 比较库存
	if @inventory < NEW.goods_number then
		-- 库存不够,由于触发器不能阻止事件发生,因此我们只能暴力报错
		insert into XXX values(XXX);
	end if;
end
$$
-- 恢复语句结束符
delimiter ;	

你可能感兴趣的:(数据库,史上最简单的,MySQL,教程)