触发器是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( 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

sql server触发器update对象 sql sever 触发器_触发器

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

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