留言板的SQL触发器的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:17:46
一条留言外链一条留言回复!

现在是如何写触发器使删除留言前先删除留言回复呢??

create trigger club_messages_delete
on club_messages
instead of delete
as
begin
delete club_Reply
from club_Reply,deleted
where
club_Reply.messagesID = deleted.messagesID

end
go

instead of delete 代表SQL语句而执行触发器里的内容

当我删除一条留言时就只删除留言回复了....留言无法删除现在!

请问如何实现??
晕了..
这样可以删除了.但是只是一条一条删除的!!如果我delete club_messages 呢??只删除一条..郁闷噢..难道还得写if语句..来判断删除几条??

instead of 触发器(针对一次删除多条)
create trigger club_messages_delete
on club_messages
instead of delete
as
begin
delete from club_Reply where messagesID in (select messagesID from deleted)
delete from club_messages where messagesID in (select messagesID from deleted)
end

after 触发器(针对多条)

create trigger club_messages_delete
on club_messages
after delete
as
begin
delete from club_Reply where messagesID in (select messagesID from deleted)
end

其实根据你的设计方案,我想根本就可以不用触发器,一条留言只对应一条回复,这样的话可以把留言ID作为留言回复的外键,把删除规则设为层叠就可以了

一条留言多条回复怎么办?

----------------------------------------------
触发器是你删除一条数据就执行一次的。
delete club_messages
其实是分解成一条一条的删除数据
所以你的club_messages_delete
也会执行N次··
create trigger club_messages_delete
on club_messages
for delete
as
begin
delete club_Reply
from club_Reply,deleted
where
club_Reply.mes