zoukankan      html  css  js  c++  java
  • 触发器

     1 -- 触发器 
     2     -- 事件类型:增删改
     3     -- 触发时间: 前后 before after
     4     -- 触发对象:表中的每一条记录
     5 -- 一张表中只能有一种触发时间的一种类型的触发器,最多一张表能有6个触发器
     6 
     7 -- 创建触发器
     8     -- 在mysql高级结构中没有大括号,都是用对应字符符号代替
     9     
    10     --  临时修改语句结束符
    11     DELIMITER 自定义符号      后需代码中碰到自定义符号 语句结束
    12     
    13     CREATE TRIGGER 触发器名字 触发时间 时间类型  ON 对象(表名) FOR EACH  ROW
    14     
    15     BEGIN     -- 代表大括号 :开始
    16     
    17         -- 触发器内容: 每行内容都必须使用语句结束符: 分号
    18         
    19     END      -- 代表大括号:结束
    20     
    21     --  语句结束符 
    22         -- 自定义符号
    23     -- 将临时修改 修正过来
    24     DELIMITER ;
    25     
    26 -- 实例
    27  CREATE TRIGGER after_order AFTER INSERT ON my_order FOR EACH ROW
    28  DELIMITER $$
    29  BEGIN 
    30     UPDATE my_goods SET inv=inv-1 WHERE id = 2;
    31  END     
    32  $$
    33  DELIMITER ;
    34     
    35         
     1 -- 查看所有触发器 
     2     SHOW TRIGGERS
     3 -- 查看触发器创建语句
     4     SHOW CREATE TRIGGER 触发器名字
     5 -- 所有触发器都保存在一张表中 information_schema.triggers 
     6 --  G 表示命令行输出的格式化
     7     SELECT * FROM information_schema.triggers G    
     8     
     9 -- 触发器不能修改 ,只能·先删除后添加
    10     -- drop trigger 触发器名字
    11  
    12  -- 触发器记录
    13     -- 不管触发器是否触发,只要当某种操作准备执行,
    14     -- 系统就会将当前操作的记录的当前状态 和即将执行之后新的状态分别保留下来,供触发器使用    
    15     --  其中要操作的保存到old改变后得保存到new 
    16     -- 删除时没有new 插入时没有old
    17     -- old 和 new都是代表记录本身,任何记录除了数据,还有字段名
    18         -- old.字段名 new.字段名   
    19           
    20     -- 触发器内容    
    21     -- UPDATE my_goods SET inv=inv-new.g_number WHERE id = new.id;    
    22     
  • 相关阅读:
    mongodb修改和删除操作
    mongodb常用查询语句
    ejs常用功能函数
    Rails + React +antd + Redux环境搭建
    nodejs安装和卸载
    Git 建立仓库及常用命令速查表
    使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能
    gem devise配置
    Ubuntu16.04安装postgresql9.4及pgadmin3图形管理界面
    Rails Migration Data Model栏位修改及数据类型介绍
  • 原文地址:https://www.cnblogs.com/the-wang/p/7847067.html
Copyright © 2011-2022 走看看