您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页SqlServer级联操作

SqlServer级联操作

来源:尚车旅游网
SqlServer级联操作

问题提出:现在我有三张表,学⽣Student,课程Course,成绩SC

1. 学⽣表Student,主键是学号Sno2. 课程Course,主码是课程号Cno

3. 成绩SC,主码是Sno和Cno,Sno外键约束是Student的Sno,Cno的外键约束是Cno

现在我需要对Student或者Course进⾏修改或删除,希望在SC表中能保持修改或删除同步,这就需要到级联操作!

⽅法⼀、SQL Server 2008 中⼿动设置“级联”

这个⽅法建议在建表时不要加⼊任何设置外键的代码,如果主码是两者或以上的就不适合使⽤

1. 打开“数据库关系图”,若未创建,则创建

2. 选中SC表,右击选中“关系”,展开“INSERT和UPDATE规范”中选择级联3. Student表 和 Course 表也要同样的设置

⽅法⼆、建表时使⽤级联代码添加

1 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE ID = OBJECT_ID(N'SC') 2 AND OBJECTPROPERTY(ID, 'IsUserTable') = 1) 3 DROP TABLE SC 4 Go

5 CREATE TABLE SC 6 ( Sno CHAR(10), 7 Cno CHAR(10),

8 Grade SMALLINT CHECK (Grade >= 0 AND Grade <= 100) NOT NULL, 9

10 PRIMARY KEY (Sno, Cno),

11 FOREIGN KEY (Sno) REFERENCES Student (Sno)12 ON UPDATE CASCADE13 ON DELETE CASCADE,

14 FOREIGN KEY (Cno) REFERENCES Course (Cno)15 ON UPDATE CASCADE16 ON DELETE CASCADE17 );

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务