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;

  • 相关阅读:
    KMP的next[]数组
    [Gauss]HDOJ3976 Electric resistance
    [Gauss]POJ2065 SETI
    [Gauss]POJ2947 Widget Factory
    更好的 SQL 模式的 10 条规则
    BZOJ2460: [BeiJing2011]元素
    BZOJ2115: [Wc2011] Xor
    洛谷P3164 [CQOI2014]和谐矩阵
    POJ1222熄灯问题
    POJ1830开关问题
  • 原文地址:https://www.cnblogs.com/qull/p/6592471.html
Copyright © 2011-2022 走看看