首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

问下一个多表删除记录的SQL语句,该怎么处理

2012-04-08 
问下一个多表删除记录的SQL语句一个新闻发布系统,其中有三张表,表tb_newstypeid name2aa3bb表tb_newsid ti

问下一个多表删除记录的SQL语句
一个新闻发布系统,其中有三张表,
表tb_newstype
id name
2 aa
3 bb

表tb_news
id title contents newstypeid
3 aa aaa 2
4 bb bbb 2
5 cc ccc 3

表tb_command
id contents newsid
3 bb 3
4 cc 3
5 dd 4

分别是新闻类型表、新闻列表、评论列表,如果我要删除一条新闻类型,连带该新闻类型对应的新闻,和每条新闻对应的新闻评论也一并删除,这个SQL语句该怎么写?
(比如删除第一张表中id为2的新闻类型,那么第二张表中newstypeid为2的新闻(即id为3、4的新闻)和第三张表中对应的新闻评论(newsid为3、4)也会一并删除)

[解决办法]
级联就行.
或者用触发器.
[解决办法]
1.最好做级联

2.可以写语句

SQL code
 select a.id,b.newstypeid,c.newsid from into #tb  tb_newstype a inner join tb_news b on a.id=b.newstypeidinner join  tb_command c on b.id=c.newsiddelete from tb_newstype where id in (select id from #td)delete from tb_news where newstypeid in (select newstypeid from #td)delete from tb_command where newsid in (select newsid  from #td) 

热点排行