sqlserver 触发器简析及实例应用

一、啥是触发器

触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发。(----来自百度百科)

简单理解,触发器就是当你对数据库进行某些特定的行为时(比如更新、删除某张表),自动作出反馈(如记录你的修改内容、时间等)。

触发器的作用如下(----来自百度百科):

  1. 可在写入数据表前,强制检验或转换数据。
  2. 触发器发生错误时,异动的结果会被撤销。
  3. 部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。
  4. 可依照特定的情况,替换异动的指令 (INSTEAD OF)。

简单来说,就是设计者可以根据实际情况,为数据库使用设定一些保护规则,当用户使用数据库触及这些规则时,触发器会给出相应的反馈。

二、触发器分类

DML触发器是基于数据库中各表内容的操作代码,当数据库中发生数据操作语言事件时执行这些操作。

登录触发器将为响应 LOGIN 事件而激发存储过程。与 SQL Server 实例建立用户会话时将引发此事件。登录触发器将在登录的身份验证阶段完成之后且用户会话实际建立之前激发。因此,来自触发器内部且通常将到达用户的所有消息(例如错误消息和来自 PRINT 语句的消息)会传送到 SQL Server 错误日志。如果身份验证失败,将不激发登录触发器。

DDL触发器是基于对数据架构进行的某些更改或记录数据中的更改或事件操作。

三、举个例子

1、DML触发器示例

DML触发器需要注意两张表:inserted表、deleted表。这两张表是系统自动创建的,记录了插入或更新后、删除或更新前的记录行。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值