数据库 实验9 数据控制(完整性) 联系客服

发布时间 : 星期五 文章数据库 实验9 数据控制(完整性)更新完毕开始阅读6e67a66131b765ce0508148b

9.4 触发器

一、实验目的

通过实验加深对数据完整性的理解,学会创建和使用触发器。

二、实验内容

(1)为worker表建立触发器T1,当插入或是更新表中数据时,保证所操作的记录的sage值大于0。

CREATE TRIGGER T1 ON WORKERS FOR UPDATE,INSERT AS

IF (SELECT Sage FROM INSERTED)<1 BEGIN

PRINT '年龄必须是大于0的整数! 操作失败!' ROLLBACK TRANSACTION END

(2)为worker表建立触发器T2,禁止删除编号为00001的CEO。 CREATE TRIGGER T2 ON WORKERS FOR DELETE AS

IF (SELECT NUMBER FROM DELETED)=’00001’ BEGIN

PRINT ‘禁止删除编号为00001的CEO’ ROLLBACK TRANSACTION END

(3)worker表中的人员的编号是唯一且不可改变的,创建触发器T3实现更新中编号的不可改变性。

CREATE TRIGGER T3 ON WORKERS FOR UPDATE AS

IF UPDATE(NUMBER) BEGIN

PRINT ‘不得更新该数据’ ROLLBACK TRANSACTION EN D

(4)练习违反T1触发器的约束的插入操作。 INSERT WORKERS

VALUES('00001','name2','F',0,'IM')

(5)练习违反T1触发器的约束的更新操作。 --INSERT WORKERS

--VALUES('00001','name2','F',12,'IM')