【实验九】【使用触发器实现数据完整性】

触发器

触发器(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  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值