此文章主要向大家探讨的是SQL Server2000级联删除的某些问题,如果你对这SQL Server2000级联删除技术,心存好奇的话,以下的文章将会揭开它的神秘面纱,下面就是文章的具体介绍,望你浏览完以下的内容会有所收获。
成都创新互联从2013年开始,是专业互联网技术服务公司,拥有项目网站设计制作、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元辽源做网站,已为上家服务,为辽源各地企业和个人服务,联系电话:18980820575
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级联删除的一些问题的介绍,望你能有所收获。
当前名称:SQLServer2000级联删除的问题列举
文章出自:http://www.gawzjz.com/qtweb2/news14/3114.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联