USP_MKTSEGMENTATIONEXCLUSION_DELETEFROMSARDATA
Remove people from the SAR data table.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONEXCLUSIONID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTSEGMENTATIONEXCLUSION_DELETEFROMSARDATA]
(
@SEGMENTATIONEXCLUSIONID uniqueidentifier
)
as
set nocount on;
declare @SEGMENTATIONID uniqueidentifier;
declare @RECORDSOURCEID uniqueidentifier;
declare @SARTABLE nvarchar(128);
declare @EXCLUSIONTABLE nvarchar(128);
declare @SQL nvarchar(max);
select
@SEGMENTATIONID = [SEGMENTATIONID]
from dbo.[MKTSEGMENTATIONEXCLUSION]
where [MKTSEGMENTATIONEXCLUSION].[ID] = @SEGMENTATIONEXCLUSIONID;
declare SARCURSOR cursor local fast_forward for
select [QUERYVIEWCATALOGID]
from dbo.[UFN_MKTSEGMENTATION_GETDISTINCTRECORDSOURCES](@SEGMENTATIONID);
open SARCURSOR;
fetch next from SARCURSOR into @RECORDSOURCEID;
while(@@FETCH_STATUS = 0)
begin
set @SARTABLE = dbo.[UFN_MKTSOURCEANALYSISRULE_MAKETABLENAME](@RECORDSOURCEID);
set @EXCLUSIONTABLE = dbo.[UFN_MKTSOURCEANALYSISRULEEXCLUSION_MAKETABLENAME](@RECORDSOURCEID);
set @SQL = 'delete from dbo.[' + @SARTABLE + ']' + char(13) +
'from dbo.[' + @SARTABLE + '] as [SAR]' + char(13) +
'inner join dbo.[' + @EXCLUSIONTABLE + '] as [EXCL] on [SAR].[FINDERNUMBER] = [EXCL].[FINDERNUMBER]' + char(13) +
'where [EXCL].[SEGMENTATIONEXCLUSIONID] = @SEGMENTATIONEXCLUSIONID';
exec sp_executesql @SQL, N'@SEGMENTATIONEXCLUSIONID uniqueidentifier', @SEGMENTATIONEXCLUSIONID = @SEGMENTATIONEXCLUSIONID;
fetch next from SARCURSOR into @RECORDSOURCEID;
end
close SARCURSOR;
deallocate SARCURSOR;
return 0;