触发器的作用 2、执行比核查约束更为复杂的约束操作 ·在触发器中可以书写更复杂的TSQL语 句,例如可以引用多个表,并使用 if.lse等语句做更复杂的检查。 3、拒绝或回滚违反引用完整性的操作。 检查对数据表的操作是否违反引用完整 性,并选择相应的操作
6 触发器的作用 • 2、执行比核查约束更为复杂的约束操作。 • 在触发器中可以书写更复杂的T-SQL语 句,例如可以引用多个表,并使用 if…else等语句做更复杂的检查。 • 3、拒绝或回滚违反引用完整性的操作。 检查对数据表的操作是否违反引用完整 性,并选择相应的操作
触发器的作用 4、比较表修改前后数据之间的差别,并 根据差别采取相应的操作。例如:若想 规定每次工资的变动幅度不能超过40%, 使用触发器可以将修改后的表数据和修 改前的表数据进行比较,若超出40%, 可以回滚该修改操作
7 触发器的作用 • 4、比较表修改前后数据之间的差别,并 根据差别采取相应的操作。例如:若想 规定每次工资的变动幅度不能超过40%, 使用触发器可以将修改后的表数据和修 改前的表数据进行比较,若超出40%, 可以回滚该修改操作
触发器的类型 触发器可以分为五种类型: Update舳发器:在表上进行更新操作时触 发 Insert触发器:在表上进行更新操作时触发 Delete触发器:在表上进行更新操作时触发 · Instead o触发器:不执行插入、更新或删 除操作时,将触发 Instead of触发器。 After发器:在一个触发动作发生之后激 发,并提供一种机制以便控制多个触发器 的执行顺序
8 触发器的类型 • 触发器可以分为五种类型: • Update触发器:在表上进行更新操作时触 发。 • Insert触发器:在表上进行更新操作时触发 • Delete触发器:在表上进行更新操作时触发 • Instead of触发器:不执行插入、更新或删 除操作时,将触发Instead of 触发器。 • After触发器:在一个触发动作发生之后激 发,并提供一种机制以便控制多个触发器 的执行顺序
SQL Server2000新增的触发器 SQL Server2000新增了两种类型的触发器 AFTER触发器和Ⅰ NSTEAD OF触发器。其中 AFTER要求只有执行某一操作( INSERT UPDATE、 DELETE)之后触发器才被触发, 且只能在表上定义。可以为针对表的同一操作 定义多个触发器。对于 AFTER触发器,可以 定义哪一个触发器被最先触发,哪一个被最后 触发,通常使用系统过程 sp settriggerorder来 完成此任务
9 SQL Server2000新增的触发器 • SQL Server 2000 新增了两种类型的触发器 AFTER 触发器和INSTEAD OF 触发器。其中 AFTER 要求只有执行某一操作(INSERT、 UPDATE、DELETE )之后触发器才被触发, 且只能在表上定义。可以为针对表的同一操作 定义多个触发器。对于AFTER 触发器,可以 定义哪一个触发器被最先触发,哪一个被最后 触发,通常使用系统过程sp_settriggerorder 来 完成此任务
INSTEAD OF触发器表示并不执行其所 定义的操作( INSERT、 UPDATE、 DELETE),而仅是执行触发器本身。既 可在表上定义 INSTEAD OF触发器,也 可以在视图上定义 INSTEAD OF触发器, 但对同一操作只能定义一个 INSTEAD OF 触发器
10 • INSTEAD OF 触发器表示并不执行其所 定义的操作(INSERT、UPDATE、 DELETE),而仅是执行触发器本身。既 可在表上定义INSTEAD OF 触发器,也 可以在视图上定义INSTEAD OF 触发器, 但对同一操作只能定义一个INSTEAD OF 触发器