USP_MKTSEGMENTWHITEMAIL_DELETE
Executes the "White Mail Segment: Delete" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being deleted. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the delete. |
Definition
Copy
CREATE procedure dbo.[USP_MKTSEGMENTWHITEMAIL_DELETE]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as
set nocount on;
declare @IDSETREGISTERID uniqueidentifier;
declare @OBJECTNAME nvarchar(256);
if (select isnull(sum([RESPONSES]), 0) from dbo.[MKTSEGMENTWHITEMAILCACHE] where [ID] = @ID) > 0
begin
raiserror('BBERR_MKTSEGMENTWHITEMAIL_HASREVENUE', 13, 1);
raiserror('This white mail segment''s cache shows associated revenue and thus it cannot be deleted.', 1, 11);
return 1;
end
begin try
select
@IDSETREGISTERID = [IDSETREGISTER].[ID],
@OBJECTNAME = [IDSETREGISTER].[DBOBJECTNAME]
from dbo.[MKTSEGMENTWHITEMAILREFRESHPROCESS]
inner join dbo.[IDSETREGISTER] on [IDSETREGISTER].[ID] = [MKTSEGMENTWHITEMAILREFRESHPROCESS].[GIFTIDSETREGISTERID]
where [MKTSEGMENTWHITEMAILREFRESHPROCESS].[SEGMENTID] = @ID;
if @IDSETREGISTERID is not null
begin
if exists (select top 1 1 from sys.objects where type = 'U' and name = @OBJECTNAME)
exec (N'drop table dbo.[' + @OBJECTNAME + N']');
exec dbo.[USP_IDSETREGISTER_DELETEBYID_WITHCHANGEAGENTID] @IDSETREGISTERID, @CHANGEAGENTID;
end
-- delete the white mail segment record
exec dbo.[USP_MKTSEGMENTWHITEMAIL_DELETEBYID_WITHCHANGEAGENTID] @ID, @CHANGEAGENTID;
-- delete the main segment record
exec dbo.[USP_MKTSEGMENT_DELETEBYID_WITHCHANGEAGENTID] @ID, @CHANGEAGENTID;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;