SQLServer2000级联删除的问题列举

来源:计算机等级考试    发布时间:2012-08-27    计算机等级考试视频    评论

导读:此文章主要向大家探讨的是SQL Server2000级联删除的某些问题,如果你对这SQL Server2000级联删除技术,心存好奇的话,以下的文章将会揭开它的神秘面纱,下面就是文章的具体介绍,望你浏览完以下的内容会有所收获。

1.建立四个表:

create table client(   c_id int identity(1,1),   c_name nvarchar(255) unique,   c_pass nvarchar(255),   c_sex bit,   c_mail varchar(255),   c_qq varchar(255),   primary key(c_id)   );   create table album_kind(   k_id int identity(1,1),   k_name nvarchar(255),   k_desc nvarchar(255),   primary key(k_id)   );   create table album(   a_id int identity(1,1),   a_name nvarchar(255),   a_desc nvarchar(255),   a_create_date datetime,   a_times bigint,   c_id int,   k_id int,   primary key(a_id),   foreign key(c_id) references client(c_id) on delete cascade,   foreign key(k_id) references album_kind(k_id) on delete cascade   );   create table album_word(   aw_id int identity(1,1),   aw_title nvarchar(255),   aw_content nvarchar(500),   commit_date datetime,   a_id int,   c_id int,   primary key(aw_id),   foreign key(a_id) references album(a_id) on delete cascade,   foreign key(c_id) references client(c_id) on delete cascade   );

这时(创建第四个表的时候)SQL Server2000级联删除会报告错误:

将 FOREIGN KEY 约束 'FK_album_word_album' 引入表 'album_word' 中将导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其它 FOREIGN KEY 约束。[Microsoft][ODBC SQL Server Driver][SQL Server]未能创建约束。请参阅前面的错误信息。

2.这时候我们去掉第四个表中的级联删除:"on delete cascade"

再次执行。。。。通过

3.创建一个触发器可以解决这个问题(接以上1.2步):

CREATE TRIGGER album_word_client ON client   FOR INSERT, UPDATE, DELETE   AS   delete album_word from album_word join deleted on album_word.c_id = deleted.c_id

完成!

语法:create trigger 随便一个名称(比如b_a) on 表a for delete as delete 表b from 表b join deleted on 表b.a表外键=deleted.a表主键(当删除a中某条记录,b中相关联记录也会相应删除)

以上的相关内容就是对SQL Server2000级联删除的一些问题的介绍,望你能有所收获。

  编辑特别推荐:

  SQLServer错误日志文档信息类型详解

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答