USP_MKTSEGMENTATIONREFRESHPROCESS_GETTOTALRESPONSECOUNTS
Retrieves the total number of gifts that are associated with this marketing effort.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_MKTSEGMENTATIONREFRESHPROCESS_GETTOTALRESPONSECOUNTS
(
@SEGMENTATIONID uniqueidentifier
)
as
set nocount on;
declare @NORMALGIFTIDSETREGISTEROBJECTNAME nvarchar(128);
declare @UNRESOLVEDGIFTIDSETREGISTERID nvarchar(128);
declare @COUNT int;
declare @SQL nvarchar(255);
declare @PARAMDEF nvarchar(255);
declare @TEMPTABLE table ([TOTALRESPONSES] int);
declare GIFTIDSETCURSOR cursor local fast_forward for
select
(select [DBOBJECTNAME] from dbo.[IDSETREGISTER] where [ID] = [MKTSEGMENTATIONACTIVATE].[NORMALGIFTIDSETREGISTERID]) as [NORMALGIFTIDSETREGISTEROBJECTNAME],
(select [DBOBJECTNAME] from dbo.[IDSETREGISTER] where [ID] = [MKTSEGMENTATIONACTIVATE].[UNRESOLVEDGIFTIDSETREGISTERID]) as [UNRESOLVEDGIFTIDSETREGISTEROBJECTNAME]
from dbo.[MKTSEGMENTATIONACTIVATE]
where [MKTSEGMENTATIONACTIVATE].[SEGMENTATIONID] = @SEGMENTATIONID;
open GIFTIDSETCURSOR;
fetch next from GIFTIDSETCURSOR into @NORMALGIFTIDSETREGISTEROBJECTNAME, @UNRESOLVEDGIFTIDSETREGISTERID;
set @PARAMDEF = '@COUNT int output';
set @COUNT = 0;
while (@@FETCH_STATUS = 0)
begin
set @SQL = 'select @COUNT = @COUNT + count([ID]) from dbo.[' + @NORMALGIFTIDSETREGISTEROBJECTNAME + ']';
exec sp_executesql @SQL, @PARAMDEF, @COUNT = @COUNT output;
set @SQL = 'select @COUNT = @COUNT + count([ID]) from dbo.[' + @UNRESOLVEDGIFTIDSETREGISTERID + ']';
exec sp_executesql @SQL, @PARAMDEF, @COUNT = @COUNT output;
fetch next from GIFTIDSETCURSOR into @NORMALGIFTIDSETREGISTEROBJECTNAME, @UNRESOLVEDGIFTIDSETREGISTERID;
end
close GIFTIDSETCURSOR;
deallocate GIFTIDSETCURSOR;
insert into @TEMPTABLE values (@COUNT);
select
[TOTALRESPONSES]
from
@TEMPTABLE;
return 0;