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
以上是我的源代码
打印的结果、单条执行都对。但就是不删数据。不知道错在哪里郁闷死了。

解决方案 »

  1.   

    请问MemberGuid是在哪个表?
    MemberAlbum?还是MemberAlbumClass?
      

  2.   

    如果是在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
      

  3.   

    应该是数据的问题,两张表关联完了,没有数据行,所有删除了 0 行。可以在 delete 后,把 @ROWCOUNT 打印出来,或者写到一个临时表中,观察一下。