zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    1. 首次运行 Git 的配置
    本地git连接github
    Cygwin(linux)中vim配置
    ibatis入门
    XML(可扩展性标记语言)学习汇总一
    第一只小啊小爬虫(纪念下)
    Android SQLite DB的封装
    关于做项目的一些感想
    Git 初学三(git对象与git重置)
    Git 初学二(暂存区)
  • 原文地址:https://www.cnblogs.com/qull/p/6592471.html
Copyright © 2011-2022 走看看