UFN_CONSTITUENCIES_USERDEFINED
Gets a list of user defined constituencies for a constituent as of the given date.
Return
Return Type |
---|
nvarchar(4000) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_CONSTITUENCIES_USERDEFINED(@CONSTITUENTID uniqueidentifier)
returns nvarchar(4000)
with execute as caller
as begin
declare @CURRENTDATE date;
set @CURRENTDATE = getdate();
declare @CONSTITUENCIES nvarchar(4000);
set @CONSTITUENCIES = '';
declare @CC nvarchar(100);
declare @CS int;
declare CONSTITUENCYCURSOR cursor local fast_forward for
select distinct
CONSTITUENCYCODE.DESCRIPTION,
CONSTITUENCYCODE.SEQUENCE
from
dbo.CONSTITUENCY
inner join dbo.CONSTITUENCYCODE
on CONSTITUENCY.CONSTITUENCYCODEID = CONSTITUENCYCODE.ID
inner join dbo.CONSTITUENCYDEFINITION
on CONSTITUENCYDEFINITION.ID = CONSTITUENCYCODE.ID
where
(CONSTITUENCY.CONSTITUENTID = @CONSTITUENTID) and
(CONSTITUENCY.DATEFROM <= @CURRENTDATE or CONSTITUENCY.DATEFROM is null) and
(CONSTITUENCY.DATETO >= @CURRENTDATE or CONSTITUENCY.DATETO is null) and
CONSTITUENCYDEFINITION.ISACTIVE = 1
order by
CONSTITUENCYCODE.SEQUENCE;
open CONSTITUENCYCURSOR;
fetch next from CONSTITUENCYCURSOR into @CC, @CS;
while @@fetch_status = 0 begin
if len(@CONSTITUENCIES) > 0
set @CONSTITUENCIES = @CONSTITUENCIES + ', ';
set @CONSTITUENCIES = @CONSTITUENCIES + @CC;
fetch next from CONSTITUENCYCURSOR into @CC, @CS;
end
close CONSTITUENCYCURSOR;
deallocate CONSTITUENCYCURSOR;
return @CONSTITUENCIES;
end