1. 触发器的主要优点
 (1) 触发器能够实施比外键约束,检查约束和规则对象等更为复杂的数据完整性检查。
 (2) 和约束相比,触发器提供了更多的灵活性。约束将系统错误信息返回给用户,但这些错误并不是总能有帮助,而触发器则可以打印错误信息,调用其他存储过程,或根据需要纠正错误。
 (3) 无论对表中的数据进行何种修改,录入或更新,触发器都能被激活,对数据实施完整性检查。
 (4) 触发器能够级联修改数据库中的表内容。

 2. 触发器支持的功能
 (1) 触发器可以在事件之前、之后执行,还可以替代事件本身。例如可以定义触发器在对某关系执行insert、 update和delete操作之前(或之后)触发。
 (2) 触发器代码可以引用事件中对于元组修改前后的值(OLD值和NEW值)。对于update语句,OLD值和NEW值意义很明确。
 (3) 对于update事件可以定义对哪个关系、或关系中的哪一列修改时,触发器触发。
 (4) 可以用WHEN子句来指定执行条件,当触发器被触发后,触发器功能代码只有在条件成立时才执行。
 (5) 触发器有语句级触发器和行级触发器之 分。所谓语句级触发器是指当update语句执行完触发一次,而行触发器是指当update语句每修改完一个元组就触发一次。
 (6) 触发器可以完成一些复杂的数据检查,可以实现某些操作的前后处理等。
 (7) 触发器定义的约束可以在任何颗粒级别上实现、表示动态的或静态的约束、延迟或不延迟进行触发检查、可以用SQL语句定义约束触发器的功能。

 3. 建立触发器的语句格式
  CREATE TRIGGER 触发器名
  ON [表名、视图名] [WITH ENCRYPTION]
  FOR {INSERT,UPDATA,DELETE }
  AS SQL操作语句
  参数说明:
  表名,视图名:为触发该触发器的表名或视图名。SQL Server中,只有表的所有者才有权建立触发器。
  INSERT,UPDATA,DELETE :说明触发触发器的事件。一个定义语句允许定义多个触发事件,用逗号分开,第2个只能是插入和更新语句。
  
WITH ENCRYPTION该选项对触发器的定义文本加密。
  SQL操作语句:指定触发器动作。该语句中可以指定多个触发器操作,这时要用BEGIN…END将它们组成语句块。