用触发器删除关联数据咋就不好使呢?

forcall 2014-11-09 09:53:25

ALTER TRIGGER [dbo].[delete_Member_Trigger]
ON [dbo].[Member]
AFTER DELETE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @MemberGuid uniqueidentifier;
SELECT @MemberGuid=UserGuid from Deleted ;

Delete FROM MemberAlbum from MemberAlbum INNER JOIN MemberAlbumClass ON AlbumClassGuid = ClassGuid where MemberGuid=@MemberGuid

print @MemberGuid
END


以上是我的源代码
打印的结果、单条执行都对。但就是不删数据。不知道错在哪里郁闷死了。。。。
...全文
278 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
forcall 2014-11-12
  • 打赏
  • 举报
回复
引用 3 楼 wmxcn2000 的回复:
应该是数据的问题,两张表关联完了,没有数据行,所有删除了 0 行。 可以在 delete 后,把 @ROWCOUNT 打印出来,或者写到一个临时表中,观察一下。
正解。已经关联删掉无法取得数据了。
卖水果的net 版主 2014-11-10
  • 打赏
  • 举报
回复
应该是数据的问题,两张表关联完了,没有数据行,所有删除了 0 行。 可以在 delete 后,把 @ROWCOUNT 打印出来,或者写到一个临时表中,观察一下。
在路上_- 2014-11-09
  • 打赏
  • 举报
回复
如果是在MemberAlbumClass表

ALTER TRIGGER [dbo].[delete_Member_Trigger]
   ON  [dbo].[Member]
   AFTER DELETE
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
   -- DECLARE @MemberGuid uniqueidentifier; 
    --SELECT @MemberGuid=UserGuid from Deleted ; 
     
    Delete  FROM MemberAlbum
    from MemberAlbum m
    INNER JOIN MemberAlbumClass c ON m.AlbumClassGuid = c.ClassGuid
    INNER JOIN Deleted d ON  c.MemberGuid=d.UserGuid
    --print @MemberGuid
END
在路上_- 2014-11-09
  • 打赏
  • 举报
回复
请问MemberGuid是在哪个表? MemberAlbum?还是MemberAlbumClass?

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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