触发器:即当发生某一事件时,如果满足给定条件,则执行相应的动作。
触发器创建语法:
(1)
CREATETRIGGER trigger_name
ON table|view
FOR|AFTER|INSTEADOF [DELETE][,INSERT][,UPDATE]
AS
Sql_statement[…n]
(2)
CREATETRIGGER trigger_name
ON table|view
FOR|AFTER|INSTEADOF [DELETE][,INSERT][,UPDATE]
AS
IFUPDATE(column)
[{AND|OR}UPDATE(COLUMN)][…]
IF(COLUMNS_UPDATED())
Sql_statement[…n]
注:(不同数据库支持不同的类型触发器,有些还支持before类型触发器,像SQL server 就不支持before触发器)
SQL Server 支持两种类型的触发器AFTER 触发器和INSTEAD OF 触发器,其中、
AFTER 触发器要求只有执行某一操作ISERT, UPDATE ,DELETE 之后触发器才被触发。
1)INSTEAD OF 触发器表示并不执行其所定义的操作INSERT,UPDATE ,DELETE,而仅是执行触发器本身,既可在表上定义INSTEAD OF 触发器,也可以在视图上定义INSTEAD OF 触发器。
2)after 触发器(也叫“FOR”触发器)则会在触发 insert、update 或是delect 动作之后执行。
触发事件分为三类:UPDATE、DELETE和INSERT。
另外,定义触发器时,系统都都会自动生成两张表,我们是可以直接用的,如下:
举例:
1.在表Student中建立删除触发器,实现表Student和表SC的级联删除,也就是只要删除表Student<

本文详细介绍了SQL Server中的触发器,包括创建触发器的语法、AFTER和INSTEAD OF触发器的区别,以及如何在UPDATE、DELETE和INSERT事件后执行特定操作。通过实例展示了如何创建级联删除、条件限制选择课程和检查成绩修改等触发器的应用。
1854

被折叠的 条评论
为什么被折叠?



