USP_MKTUPDATEMAILINGCOUNTS_GETSELECTIONINFO

Returns all the recordtypes used in the marketing effort data.

Parameters

Parameter Parameter Type Mode Description
@SEGMENTATIONEXCLUSIONID uniqueidentifier IN
@SELECTIONNAME nvarchar(128) IN
@OVERWRITE bit IN
@RUN bit IN

Definition

Copy


CREATE procedure dbo.USP_MKTUPDATEMAILINGCOUNTS_GETSELECTIONINFO
(
  @SEGMENTATIONEXCLUSIONID uniqueidentifier,
  @SELECTIONNAME nvarchar(128),
  @OVERWRITE bit,
  @RUN bit
)
as
  set nocount on;

  declare @TEMP table(
    [QUERYVIEWCATALOGID] uniqueidentifier, 
    [DISPLAYNAME] nvarchar(255), 
    [DESCRIPTION] nvarchar(255), 
    [RECORDTYPEID] uniqueidentifier,
    [PRIMARYKEYTYPENAME] nvarchar(128),
    [IDSETTABLENAME] nvarchar(128))
  declare @SEGMENTATIONID uniqueidentifier;
  declare @EXCLUSIONTABLE nvarchar(128);

  if @RUN = 1
  begin
    select @SEGMENTATIONID = [SEGMENTATIONID] from dbo.[MKTSEGMENTATIONEXCLUSION] where [ID] = @SEGMENTATIONEXCLUSIONID;
    set @EXCLUSIONTABLE = dbo.[UFN_MKTSEGMENTATIONACTIVATEEXCLUSION_MAKETABLENAME](@SEGMENTATIONID);
  end
  else
  begin
    set @SEGMENTATIONID = @SEGMENTATIONEXCLUSIONID;
    set @EXCLUSIONTABLE = dbo.[UFN_MKTSEGMENTATIONACTIVATE_MAKETABLENAME](@SEGMENTATIONID);
  end

  declare @SQL nvarchar(max);
  set @SQL =  'with SOURCES ([QUERYVIEWCATALOGID])' + char(13) +
              'as (' + char(13) +
              '  select distinct [DONORQUERYVIEWCATALOGID]' + char(13) +
              '  from dbo.[' + @EXCLUSIONTABLE + ']' + char(13);
  set @SQL =  @SQL + case when @RUN = 1 then '  where [SEGMENTATIONEXCLUSIONID] = @SEGMENTATIONEXCLUSIONID' + char(13) else '' end;
  set @SQL =  @SQL + ')' + char(13) +
              'select' + char(13) +
              '  [QUERYVIEWCATALOG].[ID] [QUERYVIEWCATALOGID],' + char(13) +
              '  (@SELECTIONNAME + '' ('' + [QUERYVIEWCATALOG].[DISPLAYNAME] + '')'') as [DISPLAYNAME],' + char(13) +
              '  (''Members removed from '' + (select [NAME] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID)) as [DESCRIPTION],' + char(13) +
              '  [QUERYVIEWCATALOG].[RECORDTYPEID],' + char(13) +
              '  [QUERYVIEWCATALOG].[PRIMARYKEYTYPENAME],' + char(13) +
              '  (select [DBOBJECTNAME] from dbo.[IDSETREGISTER] where [NAME] = (@SELECTIONNAME + '' ('' + [QUERYVIEWCATALOG].[DISPLAYNAME] + '')'') and @OVERWRITE = 1) as [IDSETTABLENAME]' + char(13) +
              'from' + char(13) +
              '  dbo.[QUERYVIEWCATALOG]' + char(13) +
              '  inner join [SOURCES] on [SOURCES].[QUERYVIEWCATALOGID] = [QUERYVIEWCATALOG].[ID]';
  insert into @TEMP
    exec sp_executesql @SQL, N'@SEGMENTATIONEXCLUSIONID uniqueidentifier, @SEGMENTATIONID uniqueidentifier, @SELECTIONNAME nvarchar(128), @OVERWRITE bit', @SEGMENTATIONEXCLUSIONID = @SEGMENTATIONEXCLUSIONID, @SEGMENTATIONID = @SEGMENTATIONID, @SELECTIONNAME = @SELECTIONNAME, @OVERWRITE = @OVERWRITE;

  select 
    [QUERYVIEWCATALOGID],
    [DISPLAYNAME],
    [DESCRIPTION],
    [RECORDTYPEID],
    [PRIMARYKEYTYPENAME],
    [IDSETTABLENAME]
  from @TEMP;

  return 0;