日期:2014-05-17  浏览次数:20571 次

急!关于触发器级联删除的问题
我是根据牛腩的新闻系统视频来写的这个
ALTER TRIGGER [trigCategoryDelete]
   ON  [dbo].[category] 
   instead of delete
AS 
BEGIN
declare @caid int
select @caid=id from deleted
---删除评论
delete comment where NewsId =(select NewsId from news where CaId=@caid)
--删除新闻
delete news where CaId=@caid
---删除类别
delete category where id=@caid
END

我使用了这个触发器后,发现评论表(comment)里面的所有数据都会被删除,并没有按照新闻表中的NewsId,
来对应删除,新闻表(news)和类别表(category)可以正常删除~~~~



我想知道这是怎么回事  我之前重新把id自增恢复到1开始(这不会有影响吧)

------解决方案--------------------
(select NewsId from news where CaId=@caid) 中的NewsId在图中没看到?
------解决方案--------------------
引用:
引用:(select NewsId from news where CaId=@caid) 中的NewsId在图中没看到?

在comment表中的最后一行

你再看一下,是news表中的NewsId,news表中只有Id