jdgue 发表于 2015-7-4 12:27:32

Sql Server级联操作

  问题提出:现在我有三张表,学生Student,课程Course,成绩SC
  
  1.学生表Student,主键是学号Sno

  2.课程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
页: [1]
查看完整版本: Sql Server级联操作