USP_FAFNFGCAMPAIGN_DELETE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_FAFNFGCAMPAIGN_DELETE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as
set nocount on;
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
--AN NFG can have 1-n levels, each of which need to be deleted before the NFG itself can be
declare @LEVELS table(LEVELID uniqueidentifier)
INSERT INTO @LEVELS(LEVELID)
SELECT ID FROM FAFNFGCAMPAIGNLEVEL WHERE NFGCAMPAIGNID=@ID
--clear out any associations between local groups and the campaign levels
UPDATE dbo.TEAMEXTENSION set NFGCAMPAIGNLEVELID=NULL, CHANGEDBYID=@CHANGEAGENTID, DATECHANGED=@CURRENTDATE
where NFGCAMPAIGNLEVELID in (select LEVELID from @LEVELS)
--delete any site display entries for those levels
DELETE from dbo.FAFNFGCAMPAIGNLEVELDISPLAYSITE where NFGCAMPAIGNLEVELID in (select LEVELID from @LEVELS)
--delete any friendly url values for those levels
DELETE from dbo.FAFFRIENDLYURLPARAMS where NFGCAMPAIGNLEVELID in (select LEVELID from @LEVELS)
--finally, delete the levels themselves
DELETE from FAFNFGCAMPAIGNLEVEL where NFGCAMPAIGNID=@ID
--now, on to the actual campaign deletion
DELETE FROM FAFNFGCAMPAIGNDISPLAYSITE where NFGCAMPAIGNID=@ID
exec dbo.USP_FAFNFGCAMPAIGN_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;
return 0;
end