SQL 触发器全过程 第一、概述 一: 触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活
所以触发器可以用来实现对表实施复杂的完 整性约`束
二: SQL Server 为每个触发器都创建了两个专用表:Inserted 表和 Deleted表
这两个表由系统来维护,它们存在于内存中而不是在数据库中
这两个 表的结构总是与被该触发器作用的表的结构相同
触发器执行 完成后,与该触发器相关的这两个表也被删除
Deleted 表存放由于执行 Delete 或 Update 语句而要从表中删除的所有行
Inserted 表存放由于执行 Insert 或 Update 语句而要向表中插入的所有行
三:instead of 和 After 触发器 SQL Server2000 提供了两种触发器:Instead of 和 After 触发器
这两种触发器的差别在于他们被激活的同: Instead of 触发器用于替代引起触发器执行的 T-SQL 语句
除表之外,Instead of 触发器也可以用于视图,用来扩展视图可以支持的更新操作
After 触发器在一个 Insert,Update 或 Deleted 语句之后执行,进行约束检查等动作都在 After 触发器被激活之前发生
After 触 发器只能用于表
一个表或视图的每一个修改动作(insert,update 和delete)都可以有一个instead of 触发器,一个表的每个修改动作都可以有多个After 触发器
四:触发器的执行过程 如果一个Insert﹑update 或者 delete 语句违反了约束,那幺 After 触发器不会执行,因为对约束的检查是在 After 触发器被激动之前发 生的
所以After触发器不能超越约束
Instead of 触发