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')
相关推荐: