当前位置: 代码迷 >> Oracle认证考试 >> 请教怎么利用trigger来保证表的参照完整性
  详细解决方案

请教怎么利用trigger来保证表的参照完整性

热度:1903   发布时间:2013-02-26 00:00:00.0
请问如何利用trigger来保证表的参照完整性
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
 Sname CHAR(20) UNIQUE,
 Ssex CHAR(4),
 Sage SMALLINT,
 Sdept CHAR(20)
);

CREATE TABLE SC
(Sno CHAR(9),
 Cno CHAR(8),
 Grade SMALLINT,
 PRIMARY KEY (Sno,Cno),
 FOREIGN KEY (Sno) REFERENCES Student(Sno),
 FOREIGN KEY (Cno) REFERENCES Course(Cno)
);

在上面两个表中,要使SC表插入的数据满足对STUDENT的参照完整性该怎么建触发器?

------解决方案--------------------------------------------------------
什么叫完整性?你创建外键了不久已经满足完整性了吗。
sc中不满足在student中的sno插不进去的
------解决方案--------------------------------------------------------
2楼说的对,有fk了,自然会保证参照完整性;除非外键实效。
如果没有fk的话,可以考虑在insert的时候先到student表中进行判断;完成fk的功能