数据库-触发器

触发器是一种特殊类型的存储过程,它由事件触发,而不是程序调用或手工启动,当数据库有特殊的操作时,这些操作由数据库中的事件来触发,自动完成这些SQL语句。

使用触发器可以用来保证数据的有效性和完整性,完成比约束更复杂的数据约束。

根据SQL语句的不同,触发器分为DML触发器和DDL触发器。

  • DML触发器
    是当数据库服务器发生数据操作语言事件时执行的存储过程,有After和Instead Of两种,After触发器激活触发是在记录改变之后进行的一种触发器;Instead Of则是在记录变更之前触发激活的。
  • DDL触发器
    是在响应数据定义语言事件时执行的存储过程。

触发器的主要作用:

  • 增加安全性
  • 跟踪用户对数据库的操作,实现审计
  • 维护在声明表时不可能实现的复杂性的完整性约束,以及对数据库中特定事件进行监控和响应。
  • 实现复杂的非标准的数据库相关完整性规则、同步实时的复制表中的数据
  • 触发器是自动的。

触发器分为事前触发和事后触发,有什么区别?.
事前触发器发生在事件发生之前,用于验证一些条件或进行一些准备工作;
事后触发器发生在事件发生之后,做收尾工作。
事前触发器可以获得之前和新的字段值,而事后触发其可以保证事务的完整性。

语句级触发器和行级触发器的区别?
语句级触发器发生在语句执行之前和执行之后,而行级触发器在触发器所影响的每一行触发一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值