USP_DATALIST_APPEALMAILINGSETUPSELECTIONCOUNT
Returns a distinct count for a collection of selections.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SELECTEDSELECTIONS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_APPEALMAILINGSETUPSELECTIONCOUNT
(
@SELECTEDSELECTIONS xml
)
as
set nocount on;
declare @ID uniqueidentifier;
declare @SQL nvarchar(max) = '';
declare @EXECSQL nvarchar(max) = 'select count([ALLSELECTIONS].[ID]) as TOTALCOUNT from (';
declare SELECTIONCURSOR cursor local fast_forward for
select
T.c.value('(SELECTIONID)[1]', 'uniqueidentifier') as ID
from
@SELECTEDSELECTIONS.nodes('/SELECTEDSELECTIONS/ITEM') T(c);
open SELECTIONCURSOR;
fetch next from SELECTIONCURSOR into @ID
while (@@FETCH_STATUS = 0)
begin
exec dbo.[USP_SELECTIONHELPER_BUILDIDSELECTSQL] @ID, @SQL output;
set @EXECSQL += N'(' + @SQL + ')';
fetch next from SELECTIONCURSOR into @ID;
if @@FETCH_STATUS = 0
set @EXECSQL += ' union ';
end
close SELECTIONCURSOR;
deallocate SELECTIONCURSOR;
set @EXECSQL += ') as ALLSELECTIONS;';
exec sp_executesql @EXECSQL;