博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何删除有主外键关系的数据呢?
阅读量:6815 次
发布时间:2019-06-26

本文共 873 字,大约阅读时间需要 2 分钟。

举个例子,比如一个新闻发布系统,有类别表,新闻表和评论表,分别设立主外键关系。

如图:

 

 

 那如何删除类别表中的国际新闻是,连同其下的新闻表和评论表也一同删除呢?

两种方法,第一种很简单,当在创建主外键时,如图所示:

 把删除规则设为层叠(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 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

 

 

 

转载地址:http://ikdzl.baihongyu.com/

你可能感兴趣的文章
ssh 公钥 密钥
查看>>
c#设计模式-单例模式
查看>>
Ehcache web cahce 缓存改良版
查看>>
F5集群配置公共irule,解决X-Frame-Options漏洞及host头漏洞
查看>>
mysql 创建日期列之timestamp
查看>>
VMM系列之使用VMM服务器构建 Hyper-V主机(4)
查看>>
详测 Generics Collections TList (7): Items、Contains
查看>>
配置FTP服务器(2) 本地用户下载和上传
查看>>
多线程编程(11) - 多线程同步之 Mutex (互斥对象)[续]
查看>>
【Java每日一题】20161214
查看>>
requireJs 模块化简陋版本
查看>>
我的友情链接
查看>>
How to upgrade vim to version 8 on CentOS 7
查看>>
xcode pod 报import 找不到 pods的支持问题解决方法之一
查看>>
nginx配置让任何文件在浏览器中显示文本text/plain
查看>>
思科路由器×××配置-- 动态 site-to-site ×××(上)
查看>>
Visual Studio统计有效代码行数
查看>>
Qt连接Oracle数据库常见问题
查看>>
45个实用的JavaScript技巧、窍门和最佳实践
查看>>
sqlserver 2005 列字符串拼接
查看>>