触发器
触发器(trigger)是用户定义在关系表上的一类由事件驱动的特殊过程。
触发器又叫做事件-条件-动作(event-condition-action)规则。
触发器功能很多,因为触发器规则中的动作体可以很复杂。通常是一段SQL存储过程。
触发器不仅可以用于数据库完整性检查,也可以用来实现数据库系统的其他功能,包括数据库安全性以及更加广泛的应用系统的一些业务流程和控制流程,基于规则的数据和业务控制功能等。
不过也要特别注意一个触发器的动作可能激活另一个触发器,最坏的情况是导致一个触发链,从而造成难以遇见的错误。
一、实现域完整性
①打开“SQL Server Management Studio”窗口。
②单击“标准”工具栏上的“新建查询”按钮,打开“查询编辑器”窗口。
③在“SQL编辑器”工具栏上选择可用数据库,如“XSCJ”。
④在窗口内直接输入以下CREATE TRIGGER语句,创建触发器。
为KC表创建一个INSERT触发器,当插入的新行中开课学期的值不是1-6时,就激活该触发器,撤销该插入操作,并使用RAISERROR语句返回一个错误信息。
CREATE TRIGGER tri_INSERT_KC ON KC
AFTER INSERT
AS
DECLARE @开课学期 tinyint
SELECT @开课学期=KC.开课学期
FROM KC,Inserted
WHERE KC.课程号= Inserted.课程号 --如果新插入行的开课学期的值不是1~6,则撤销插入,并给出错误信息
IF @开课学期 NOT BETWEEN 1 AND