兄弟们,明细表删除问题问题,帮忙了.

zhucp 2003-11-25 07:27:58
MsgHeader 表 ID,SchoolNumber,Dates,UserTypeID
MsgStudBody表 ID,HeaderID,A,B,C
MsgClassBody表 ID,HeaderID,AA,BB,CC

如何实现当我删除MsgHeader表中记录时, 同时把MsgStudBody,MsgClassBody表中的记录删除

我用如下触发器,做,也不行,只能删除一条记录是可行
Create TRIGGER JXT2_DeleteMsgHeader ON MsgHeader FOR DELETE
AS
DECLARE @HeaderID int
DECLARE @UserTypeID int

SELECT @HeaderID=ID,@UserTypeID=UserTypeID FROM deleted

IF @UserTypeID = 2
BEGIN
DELETE FROM MsgClassBody WHERE HeaderID = @HeaderID
END

IF (@UserTypeID = 1) OR (@UserTypeID = 3)
BEGIN
DELETE FROM MsgStudBody WHERE HeaderID = @HeaderID
END
...全文
36 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
nxfbccu 2003-11-26
  • 打赏
  • 举报
回复
在触发器中判断是否为多笔删除:
if @@RowCount>1
begin
...
end;
JavaD 2003-11-26
  • 打赏
  • 举报
回复
有没有外键哦,有的化,建外键的时候,加上on delete cascade

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧