TR_EmailList_CASCDE_DEL_1

Definition

Copy


    CREATE  TRIGGER [dbo].[TR_EmailList_CASCDE_DEL_1]
ON [dbo].[EmailList]
INSTEAD OF DELETE
AS
BEGIN

    Declare @UniqueName uniqueidentifier
    Declare @UniqueNameLength int
    Declare @Name nvarchar(50
    Declare @TotalLength int 
    Declare @StuffStart int
    DECLARE @TABLENAME nvarchar(128)
    DECLARE @ListID int

    SELECT @ListID = [ID] FROM Deleted

    Set @UniqueName = NEWID()
    Set @UniqueNameLength = len(@UniqueName)
    Set @Name = (Select [Name] FROM Deleted)
    Set @TotalLength = len(@Name) + @UniqueNameLength

    if @TotalLength > 50 
        BEGIN
            Set @StuffStart = Len(@Name) - (@TotalLength - 50)
            Set @Name = STUFF(@Name, @StuffStart, @UniqueNameLength, @UniqueName)
        END
    else
        BEGIN
            Set @Name = @Name + CAST(@UniqueName as nvarchar(50))
        END

    UPDATE EmailList SET [Name] = @Name, Deleted = 1
    WHERE [ID]= @ListID

    delete from Datasources where importlistid = (select [id] from Deleted)

    exec [spUploadedListDelete] @ListID

END