数据库后台编程技术中的触发器
触发器是一种特殊的存储过程,它不需要用户来直接调用,而是在对表中的数据进行UPDATE、INSERT或DELETE操作时自动触发进行的。
- 触发器的三种类型
-
DML触发器
如果用户要通过数据操作语言(DML)事件编辑数据,则执行DML触发器。DML事件是针对表或视图的INSERT、UPDATE或DELETE语句。
-
DDL触发器
DDL触发器用于响应各种数据定义语言(DDL)事件,这些事件主要对应T-SQL中的CREATE、ALTER和DROP语句,以及执行过程类似于DDL操作的某些系统存储过程。
-
登录触发器
登录触发器在遇到LOGON事件时触发,LOGON事件是在用户建立会话的时候发生的。
-
创建触发器
建立DML触发器的SQL语句为CREATE TRIGGER。触发器的创建方法有两种,分别为前触发型和后触发型。下面的例子可以具体说明触发器的创建方法。
-
创建后触发型触发器
使用FOR或ALTER语句定义的触发器称为后触发型触发器,即只有在引发触发执行的语句中的操作都已成功执行,并且所有的约束检查也成功完成后,才执行触发器。
【例1】当销售单据明细表中的商品销售数量大于此商品库存量(在商品表中)的时候,撤销此次商品的销售并给出提示信息。如果销售数量小于库存数量,则在插入销售单据明细记录时,应同时修改此商品的库存数量。
CREATE