实验 8 数据完整性实验(2 学时)
1. 实验目的
本实验的目的是通过实验使学生加深对数据完整性的理解,学会创建和使用触发器。
2. 实验内容
本实验的内容为:
使用 SQL 设计触发器,通过 SQL Server 企业管理器定义它们。
1.具体完成下面例题:利用触发器来保证学生选课库中选课表的参照完整性,以维护
其外码与参照表中的主码一致。(注意:需要 SC 表上无外键定义,因为如果插入的数据
违反外键约束,这个命令本身不会被执行,所以该触发器也就不会被触发(因为是 FOR
触发器,即后触发器), 此触发器的作用相当于为 SC 表增加了外键约束)
CREATE TRIGGER t_ins_sc ON sc
FOR INSERT
AS
IF(SELECT COUNT(*)
FROM s,inserted,c
WHERE s.sno=inserted.sno AND inserted.cno=c.cno)=0
ROLLBACK TRANSACTION;
print '触发了触发器'
go
--测试该触发器(表上外键存在时)
--1)符合外键约束的
Insert into sc values('1002','5',90);
--2)违反约束的
Insert into sc values('666','5',90);
评论0
最新资源