数据库——SQL Server触发器

1. 触发器概述

触发器:做事件-条件-动作规则(event-condition-action rule, ECA rule) 当特定的系统事件发生时,对规则的条件进行检查 如果条件成立则执行规则中的动作,否则不执行该动作 规则中的动作体可以很复杂,通常是一段SQL存储过程。

  • 触发器(trigger)是用户定义在关系表上的一类由事件驱动的特殊过程
  • 触发器可以实施更为复杂的检查和操作,具有更精细和更强大的数据控制能力
  • 触发器保存在数据库服务器中
  • 任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在关系数据库管理系统核心层进行集中的完整性控制

2. 触发器的优点

触发器是自动的。当对表中的数据做了任何修改之后立即被激活。 触发器可以通过数据库中的相关表进行层叠修改。 触发器可以强制限制。这些限制比用CHECK约束所定义的更复杂。与CHECK约束不同的是,触发器可以引用其他表中的列。

3. 触发器的作用

触发器的主要作用有以下几个方面:

1. 强制数据库间的引用完整性

2. 级联修改数据库中所有相关的表,自动触发其它与之相关的操作

3. 跟踪变化,撤销或回滚违法操作,防止非法修改数据

4. 返回自定义的错误消息,约束无法返回信息,而触发器可以

5. 触发器可以调用更多的存储过程

4. 触发器分类

SqlServer包括三种常规类型的触发器:DML触发器、DDL触发器、登录触发器

4.1 DML触发器

SqlServer中的DML触发器有三种:

  1. insert触发器:向表中插入数据时被触发;
  2. delete触发器:从表中删除数据时被触发;
  3. update触发器:修改表中数据时被触发。

当遇到下列情形时,应考虑使用DML触发器:

  1. 通过数据库中的相关表实现级联更改。
  2. 防止恶意或者错误的insert、update和delete操作,并强制执行check约束定义的限
  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孩子快醒醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值