分類:
順序結(jié)構(gòu),分支結(jié)構(gòu)秕脓,循環(huán)結(jié)構(gòu)
分支結(jié)構(gòu)--if分支
基本語法
if 條件判斷 then
--滿足條件要執(zhí)行的代碼
else
-- 不滿足條件关贵,要執(zhí)行的代碼
end if;
示例:
觸發(fā)器結(jié)合if 分支,判斷商品是否足夠恒削,不夠不能生成訂單
-- 觸發(fā)器:判斷商品庫存是否滿足條件
DELIMITER $$
CREATE TRIGGER before_order before INSERT on `my_order` for each row
BEGIN
-- 判斷商品是夠滿足條件
-- 查看庫存
SELECT stock from `my_goods` WHERE id = new.good_id into @stock;
-- 比較庫存
-- 庫存不足,停止執(zhí)行尾序,由于mysql沒有提供停止語句钓丰,只能暴力報(bào)錯(cuò)
if @stock < new.good_num then
INSERT INTO XXX VALUES(XXX);
end if;
END
$$
DELIMITER ;
插入訂單
INSERT INTO my_order VALUES(null,1,1000)
屏幕快照 2017-08-16 下午4.03.10.png
循環(huán)結(jié)構(gòu)--while
基本語法;
循環(huán)名字: while 判斷條件 do
-- 循環(huán)體
-- 變更循環(huán)條件
leave/iterate 循環(huán)名字;
end while
循環(huán)判斷和控制
iterate == continue
leave == break