当前位置:首页 > 系统运维 > 正文内容

SQL Server2000级联删除的问题列举

a8116255316年前 (2010-07-15)系统运维9

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

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级联删除的一些问题的介绍,望你能有所收获。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/21985.html

分享给朋友:

“SQL Server2000级联删除的问题列举” 的相关文章

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

在某些电脑中,机器内部蜂鸣器与系统的声音输出方案是相关联的,这样一来会导致当系统输出声音时,即使电脑没有连接外部音响或耳机,也会通过内置蜂鸣器发出“嘟嘟哔哔”的声音。这个问题主要出现在Windows 7电脑中,假如你的电脑恰好遇到了这样的问题,可参考下面的方法来解决: 1、在桌面“计算机”图标上右...

如何设置Win 7通知栏重新显示电源按钮

如何设置Win 7通知栏重新显示电源按钮

有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...

微软今天正式停止对windows 7的主流支持

微软今天正式停止对windows 7的主流支持

北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...

Skylake平台不能通过USB接口装windows 7系统

Skylake平台不能通过USB接口装windows 7系统

Intel会在2015年推出Broadwell、Skylake两代14nm处理器,前者可以使用9系芯片组,Skylake升级到了LGA1151插槽,需要搭配新的100系列芯片组,但初期的Skylake-S又不能超倍频,所以今年Q2季度开始会很混杂。Skylake一代会支持DDR4,100系列芯片组升...

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

1月13日消息,微软今天为Windows 7(SP1)用户重新推送了编号为KB2952664的更新补丁,该更新在官方KB知识库中的描述为“Windows 7系统升级兼容性更新”,用于帮助微软改进当前版本系统,提升升级到最新版Win10系统的体验。 这项更新还用于在系统中显示Windows10更新提...