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

    我在想,一个PPT和书本的关系,他们就是书本的缩影么,还是其他的一些东西

    10.1 创建触发器

    10.1.1 创建只有一个执行语句的触发器

    创建一个触发器的语法如下:
    CREATE TRIGGER trigger_name trigger_time trigger_event
    ON tbl_name FOR EACH ROW trigger_stmt

    10.1.2 创建有多个执行语句的触发器

    创建多个执行语句的触发器的语法如下:
    CREATE TRIGGER trigger_name trigger_time trigger_event
    ON tbl_name FOR EACH ROW trigger_stmt

    10.2 查看触发器

    10.2.1 SHOW TRIGGERS语句查看触发器信息

    通过SHOW TRIGGERS查看触发器。
    SHOW TRIGGERS;

    10.2.2 在triggers表中查看触发器信息

    在MySQL中所有触发器的定义都存在INFORMATION_SCHEMA数据库的TRIGGERS表格中,可以通过查询命令SELECT来查看。
    SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
    WHERE condition;

    10.3 触发器的使用

    触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。在某些触发程序的用法中,可用于检查插入到表中的值,或对更新涉及的值进行计算。
    INSERT、DELETE或UPDATE

    10.4 删除触发器

    使用DROP TRIGGER语句可以删除MySQL中已经定义的触发器。
    DROP TRIGGER [schema_name.]trigger_name

    mysql> drop trigger num_sum;
    Query OK, 0 rows affected (0.01 sec)
    

    10.5 综合案例——触发器使用

    介绍了MySQL数据库的触发器的定义和作用、创建触发器、查看触发器、使用触发器和删除触发器等内容。创建触发器和使用触发器是本章的重点内容。在创建触发器的时候一定要弄清楚触发器的结构,在使用触发器的时候,要清楚触发器触发的时间(BEFORE或AFTER)和触发的条件是(INSERT、DELETE或UPDATE)。在创建了触发器后,要清楚怎么修改触发器。

    创建一个persons表

    mysql> create table persons(name varchar(50),num int);
    Query OK, 0 rows affected (0.10 sec)
    

    创建一个sales表

    mysql> create table sales(name varchar(40),sum int)
        -> ;
    Query OK, 0 rows affected (0.06 sec)
    

    创建一个触发器,在更新persons表的num字段后,更新sales表的sum字段;
    这里需注意 for each row 语句啥意思;这语句连接上下文

    mysql> create trigger num_sum after insert on persons for each row insert into sales values(new.name,7*new.num);
    Query OK, 0 rows affected (0.02 sec)
    

    向persons表中插入数据

    mysql> insert into persons values('xiaoxiao',20),('xiaohua',69)
        -> ;
    Query OK, 2 rows affected (0.02 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    

    展示结果

    mysql> select * from persons;
    +----------+------+
    | name     | num  |
    +----------+------+
    | xiaoxiao |   20 |
    | xiaohua  |   69 |
    +----------+------+
    2 rows in set (0.00 sec)
    
    mysql> select * from sales;
    +----------+------+
    | name     | sum  |
    +----------+------+
    | xiaoxiao |  140 |
    | xiaohua  |  483 |
    +----------+------+
    2 rows in set (0.00 sec)
    
    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    前端使用canvas生成盲水印的加密解密
    html2canvas使用心得
    前端开发超好用的截图、取色工具——snipaste
    js识别中英文字符的字节长度并进行裁切
    运用CSS3媒体查询判断iPhoneX、iPhoneXR、iPhoneXS MAX及横竖屏
    webpack4学习笔记
    VUE打包发布后无法访问js、css资源
    IOS微信6.7.4输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置
    移动端浏览器预览word、excel、ppt
    js为页面元素添加水印
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15319595.html
Copyright © 2011-2022 走看看