第十一章管理触发器 触发器的概念 触发器的功能和类型 使用企业管理器创建和管理触发器 使用TSQL创建和管理触发器
1 第十一章 管理触发器 • 触发器的概念 • 触发器的功能和类型 • 使用企业管理器创建和管理触发器 • 使用T-SQL创建和管理触发器
触发器的基本概念 触发器是一种特殊类型的存储过程,它 不同于普通的存储过程。触发器主要是 通过事件进行触发而被执行的,而存储 过程可以通过存储过程名称而被直接调 用。当往某一个表格中插入记录、修改 记录或者删除记录时, SQL SERVER就 会自动执行触发器所定义的SQL语句, 以确保数据的完整性
2 • 触发器是一种特殊类型的存储过程,它 不同于普通的存储过程。触发器主要是 通过事件进行触发而被执行的,而存储 过程可以通过存储过程名称而被直接调 用。当往某一个表格中插入记录、修改 记录或者删除记录时,SQL SERVER就 会自动执行触发器所定义的SQL语句, 以确保数据的完整性。 触发器的基本概念
SQL SERVER可以检查数据完整性的还有什么 情况? 比如前面讲过的 CHECK约束。但是,与 CHECK约束相比,触发器可以强制实现更加 复杂的数据完整性,而且可以参考其他表的字 段 注意:触发器可以扩展 SQL Server约束、默 认值和规则的完整性检查逻辑,但只要约束和 默认值提供了全部所需的功能,就应使用约束 和默认值
3 • SQL SERVER可以检查数据完整性的还有什么 情况? • 比 如 前 面 讲 过 的 CHECK 约 束 。 但 是 , 与 CHECK约束相比,触发器可以强制实现更加 复杂的数据完整性,而且可以参考其他表的字 段。 • 注意:触发器可以扩展 SQL Server 约束、默 认值和规则的完整性检查逻辑,但只要约束和 默认值提供了全部所需的功能,就应使用约束 和默认值
触发器的作用 触发器可以使用TSQL语句进行复杂的逻 辑处理,它基于一个表创建,但是可以 对多个表进行操作,因此常常用于复杂 的业务规则。一般可以使用触发器完成 如下功能:
4 触发器的作用 • 触发器可以使用T-SQL语句进行复杂的逻 辑处理,它基于一个表创建,但是可以 对多个表进行操作,因此常常用于复杂 的业务规则。一般可以使用触发器完成 如下功能:
触发器的作用 1、级联修改数据库中相关的表。 例如:在数据库c0 mpany中有两个表 project和 customer,表 project包含项目信息和项目的 合作客户名,而 customer表中则存储所有客户 的信息。如果删除了 customer表中的某一客户, 如张三,那么在 project表中所有和该客户有关 的项目记录都应该做相应的调整。如在 project 表中将所有合作客户为张三的字段改为nu或 者其它值,或者删除整条和张三有关的记录 而使用触发器就可以实现这样的功能
5 触发器的作用 • 1、级联修改数据库中相关的表。 • 例如:在数据库company中有两个表project和 customer,表project中包含项目信息和项目的 合作客户名,而customer表中则存储所有客户 的信息。如果删除了customer表中的某一客户, 如张三,那么在project表中所有和该客户有关 的项目记录都应该做相应的调整。如在project 表中将所有合作客户为张三的字段改为null或 者其它值,或者删除整条和张三有关的记录。 而使用触发器就可以实现这样的功能