首 页
学院概况院内动态专业介绍名师风采校园生活招生就业网上报名行内信息
联系我们
  当前位置: 首 页 > 行内信息 > 相关信息 > 正文
 
专业介绍
· 专业一览表
· 计算机应用与电子商务
· 计算机应用与网络营销
· 计算机应用与网站开发
· 一年制网站设计和开发
· 室内设计手绘培训
· 一年制商业平面广告设计
· 室内设计一年制(非学历)
· 三个月平面广告设计
· 六个月平面广告设计
· 园林景观设计
· 笔记本电脑维修(芯片级技...
SQLServer2005 外键约束和层叠删除
  发表日期: 2010-05-08
    我们在设计数据库,如果库中存在大类和子类两个表,我们常常希望在删除大类的时候自动删除其子类,那么我们在SQL SERVER2005应该如何做呢?我们在此举一个我们大家都熟悉的学生和教师为例:
表1:Teacher
CREATE TABLE Teacher(
  cTeacherCode char(4)  NOT NULL,
  vTeacher  varchar(8) ,
  PRIMARY KEY CLUSTERED (cTeacherCode ),
)

表2:Student
CREATE TABLE Student(
  cStudentCode char(6) NOT NULL,
  vStudent varchar(8) ,
  cTeacherCode char(10) ,
  PRIMARY KEY CLUSTERED (cStudentCode),
  FOREIGN KEY (cKindCode) REFERENCES BigKind (cTeacherCode)
)

一、首先创建两个表,表2设置外键。如下代码:
二、完成表后,在数据里有数据库关系图,点右键新建数据库关系图。如下图所示:

三、选中你所要的两个表,BigKind与ChildKind如下图所示:


四、选中BigKind中的一行,拖动到ChildKind表上,如下图1所示。完成之后则会弹出两对话框,一个是表和列对话框,另一个是外键关系对话框。在外键关系对话框中,选择数据库设计器中的INSERT和UPDATE规则,在更新规则和删除规则中选择层叠,如下图2所示。这样就完成OK了,如下图3所示。

(图1)




(图2)


(图3)

五、然后你就可以删除你不想要的数据了。

注意:
1、添加数据的时候请注意,必须的先添加第一级的数据,也就是BigKind表。否则,


则会出现“INSERT 语句与 FOREIGN KEY 约束"FK_Province_Nation"冲突的错误提示


2、第二级所定义的外键必须是第一级的主键。也就是上面的BigKind表中的KindCode.

附:你可以试试为下面两个表大类
BigKind与小类ChildKind
完成层叠删除

表1:BigKind
CREATE TABLE BigKind(
  cKindCode char(10) NOT NULL,
  vKindName varchar(8) NULL,
  PRIMARY KEY CLUSTERED (cKindCode),
)

表2:ChildKind
CREATE TABLE ChildKind(
  cChildCode char(10) NOT NULL,
  vChildName varchar(8) NULL,
  cKindCode char(10) NULL,
  PRIMARY KEY CLUSTERED (cChildCode),
  FOREIGN KEY (cKindCode) REFERENCES BigKind (cKindCode)
)
 
联系我们 网站地图 关于我们
地址:郑州市中原路146号
邮编:450007 E-mail:1206857436@qq.com
电话:0371-67698226 手机:13503867846 豫ICP备09040995号 :