加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

三、MySQL 中的触发器类型?

发布时间:2023-06-13 10:01:54 所属栏目:MySql教程 来源:互联网
导读: MySQL 触发器

MySQL 中的触发器是一组位于系统目录中的 SQL 语句。它是一种特殊类型的存储过程,可自动调用以响应事件。每个触发器都与一个表相关联,该表在任何 DML 语句(如INSERT、UPD

MySQL 触发器

晶闸管 强触发 微触发 区别_mysql触发器_上升沿触发和下降沿触发

MySQL 中的触发器是一组位于系统目录中的 SQL 语句。它是一种特殊类型的存储过程,可自动调用以响应事件。每个触发器都与一个表相关联,该表在任何 DML 语句(如INSERT、UPDATE或DELETE)上激活。

触发器被称为特殊过程,因为它不能像存储过程一样直接调用。触发器和过程之间的主要区别在于,当针对表进行数据修改事件时,会自动调用触发器。相反mysql触发器,必须显式调用存储过程。

根据SQL标准,触发器通常有两种类型:行级触发器和语句级触发器。

注意:我们应该知道 MySQL 不支持语句级触发器。它仅提供对行级触发器的支持。

一、为什么我们需要在MySQL中使用触发器?

由于以下特性,我们需要使用 MySQL 中的触发器:

二、在 MySQL 中使用触发器的限制三、MySQL 中的触发器类型?

我们可以以触发器的形式定义最多六种类型的动作或事件:

插入前:在向表中插入数据之前激活。插入后:在表中插入数据后激活。更新前:在表中数据更新前激活。更新后:表中数据更新后激活。删除前:在从表中删除数据之前激活。删除后:从表中删除数据后激活。

当我们使用不使用 INSERT、UPDATE 或 DELETE 查询的语句来更改表中的数据时,与该触发器关联的触发器将不会被调用。

四、触发器命名约定

命名约定是我们为给出适当的唯一名称而遵循的一组规则。它可以节省我们的时间来保持工作的组织性和可理解性。因此,我们必须为与表关联的每个触发器使用唯一的名称。但是,为不同的表定义相同的触发器名称是一种很好的做法。

应使用以下命名约定来命名MySQL中的触发器:

(BEFOR | AFTER) table_name (INSERT | UPDATE | DELETE)  

触发器激活时间:BEFORE | AFTER

触发事件:INSERT |UPDATE|DELETE

五、如何在 MySQL 中创建触发器?

我们可以使用CREATE TRIGGER语句在 MySQL 中创建新触发器。下面是在 MySQL 中创建触发器的语法:

CREATE TRIGGER trigger_name    
    (AFTER | BEFORE) (INSERT | UPDATE | DELETE)  
         ON table_name FOR EACH ROW    
         BEGIN    
        --variable declarations    
        --trigger code    
        END; 

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!