设为首页 加入收藏

TOP

如何删除有主外键关系的数据
2014-11-24 08:24:02 来源: 作者: 【 】 浏览:1
Tags:如何 删除 关系 数据

举个例子,比如一个新闻发布 系统,有类别表,新闻表和评论表,分别设立主外键关系。
如图:
那如何删除类别表中的国际新闻是,连同其下的新闻表和评论表也一同删除呢?
两种方法,第一种很简单, www.2cto.com 当在创建主外键时,如图所示:


把删除规则设为层叠(SQL2005),在SQL2008中又叫做级联了!
类别表和新闻表,新闻表和评论表都要设为层叠。
一般很少用!不安全!!
第二种就是写触发器了!
这是类别表的触发器:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author:
-- Create date: <2012>
-- Description: <删除类触发器>
-- =============================================
ALTER TRIGGER [trigCategoryDelete]
ON [dbo].[cateGory]
instead of DELETE
AS www.2cto.com
BEGIN
--select * from deleted
declare @caid int
select @caid=id from deleted
--delete news where caId=(select id from deleted)
--select * from comment where newsid in(select id from news where caid=@caid)
--删除评论
delete comment where newsID in (select Id from news where caid=@caid)
--删除新闻
delete news where caId=@caid
--删除类别
delete category where id=@caid
END

作者 烧点饭
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MongoDB最佳实践 下一篇Mongodb学习笔记--Mongodb安装

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·一篇说人话的文章, (2025-12-27 07:50:09)
·Python Web框架哪家 (2025-12-27 07:50:06)
·基于Python的数据分 (2025-12-27 07:50:03)
·深入理解 Java 集合 (2025-12-27 07:22:48)
·Java集合框架全面解 (2025-12-27 07:22:45)