• mysql_结构


    代码执行结构:顺序结构、分支机构、循环结构
    分支结构:实现准备多个代码块,按照条件选择执行某段代码

    在mysql中只有if分支
    基本语法
    if 条件判断 then
    -- 满足条件要执行的代码;
    else
    -- 不满足条件要执行的代码
    end if;

    触发器结合if分支:判断商品库存是否足够,不够不能生成订单

    -- 触发器:订单生成之前要判断库存是否满足
    delimiter %%

    create trigger before_order before insert on my_order for each row
    begin
    -- 判断商品库存是否足够

    -- 获取商品库存:商品库存在表中
    select inv from my_goods where id = new.g_id into @inv;

    -- 比较库存
    if @inv < new.g_number then
    -- 库存不够:触发器没有提供一个能够阻止时间发生的能力(只能暴力报错)
    insert into XXX values(XXX);

    end if;

    end

    %%
    delimiter ;

    -- 插入订单
    insert into my_order values(null,1,1000);

    循环结构:某段代码在指定条件下重复执行
    while循环(没有for循环)

    while 条件判断 do
    -- 满足条件要执行的循环代码
    -- 变更循环条件
    end while;

    循环控制:在循环内部进行处理,进行循环的判断和控制
    mysql中没有对应的continue和break,但是有
    iterate:迭代,类似continue,后面的代码不执行,循环重新来过
    leave:离开,类似break,循环结束

    使用方式 :tterate/leave 循环名字;

    -- 定义循环名字
    循环名字:while 条件 do
    -- 循环体
    -- 循环控制
    leave/iterate 循环名字
    end while;

  • 相关阅读:
    Day1-while and for/break and continue
    Day1-用户输入及字符串格式化输入
    Day1-python基础
    2-21-源码编译搭建LNMP环境
    2-20-使用apache搭建web网站
    2-19-mysql优化
    2-18-搭建mysql集群实现高可用
    2-17-MySQL读写分离-mysql-proxy
    2-16-2MySQL主从
    2-14-存储过程-触发器-事务
  • 原文地址:https://www.cnblogs.com/qull/p/6592471.html
Copyright © 2020-2023  润新知