mysql触发器举例

  1. 触发器:删除A表的某条数据之后,将A表的某条数据插入到B表
    CREATE TRIGGER delete_trigger
    AFTER DELETE on A  FOR EACH ROW
    BEGIN
    INSERT INTO B(oldCno,oldCname,oldCredit)VALUES(12,old.cname,old.ccredit);
    END;
  2. 编程触发器,也可以搭配if使用
    要创建触发器来使班级表中的班内学生数随着学生的添加自动更新,代码如下:
    DELIMITER |
    create trigger tri_stuInsert after insert
    on student for each row
    begin
      declare c int;
      set c = (select stuCount from class where classID=new.classID);
      update class set stuCount = c + 1 where classID = new.classID;
    end|
    DELIMITER ;

  3. mysql函数----触发器搭配if使用(仓库库存)
    CREATE TRIGGER insert_trigger
    after INSERT on c_record FOR EACH ROW
    BEGIN
    IF new.gType="入库"
    THEN
    UPDATE c_goods SET gNumber=gNumber+new.gNumber WHERE gName=new.gName;
    end if;
    IF new.gType="出库"
    THEN 
    UPDATE c_goods SET gNumber=gNumber-new.gNumber WHERE gName=new.gName;
    end IF;
    END;
posted @ 2023-04-18 14:39  冷风5997  阅读(18)  评论(0编辑  收藏  举报