SQL Sever 触发器

         触发器是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( insert,delete, update)时就会激活它执行,触发器经常用于加强数据的完整性约束和业务规则等。其实往简单了说,就是触发器就是一个开关,负责灯的亮与灭,你动了,它就亮了,就这个意思。

触发器的优点:1.触发器自动执行。

            2.可以通过数据库中的相关表进行层叠更改。比直接把代码写在前台的做法更安全合理。

            3.可以强制限制,比CHECK约束所定义的更复杂。更具有数据完整性。

触发器的作用:1.可在写入数据表前,强制检验或转换数据。

            2.触发器发生错误时,异动的结果会被撤销。

            3.部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。

            4.可依照特定的情况,替换异动的指令 (INSTEAD OF)。

触发器的种类:

DML触发器
通常说的DML触发器包括三种,INSERT触发器、UPDATE触发器,DELETE触发器。可以查询其他表,还可以包含复杂的Transact-sql语句。DML触发器的主要作用在于强制执行业 务规则,以及扩展Sql Server约束,默认值等。因为我们知道约束只能约束同一个表中的数据,而触发器中则可以执行任意Sql命令。
DDL触发器
主要用于审核与规范对数据库中表,触发器,视图等结构上的操作。比如在修改表,修改列,新增表,新增列等。它在数据库结构发生变化时执行,我们主要用它来记录数据库的修改过程,以及限制程序员对数据库的修改,比如不允许删除某些指定表等。
语法结构:
CREATE TRIGGER trigger_name
ON{ table | view}
{
    { {FOR | AFTER | INSTEAD OF }
      { [DELETE] [ , ] [INSERT] [,] [UPDATE]}
       AS
       sql_statement
  }
}

根据上边的语法套用就可以了

insert 触发器

create trigger tri_insert
on student
for insert
as
sql语句

update

查询教师信息表中被删除的教师姓名性别

create trigger T_DELETETEA
on 教师信息
for delete
as
  SELECT 姓名 AS 被删除的教师姓名,性别 FROM DELETED




  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 23
    评论
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值