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