USP_SMARTFIELD_CONSTITUENTRECOGNITIONCONSECUTIVEYEAR
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SMARTFIELDID | uniqueidentifier | IN | |
@RECOGNITIONPROGRAMID | uniqueidentifier | IN | |
@ASOF | datetime | IN |
Definition
Copy
create procedure dbo.USP_SMARTFIELD_CONSTITUENTRECOGNITIONCONSECUTIVEYEAR
(
@SMARTFIELDID uniqueidentifier = null,
@RECOGNITIONPROGRAMID uniqueidentifier = null,
@ASOF datetime
)
as
set nocount on;
declare @SQL nvarchar(max);
declare @TABLENAME nvarchar(256);
declare @ROWCOUNT int;
select @TABLENAME = TABLECATALOG.TABLENAME
from dbo.SMARTFIELD
inner join dbo.TABLECATALOG on TABLECATALOG.ID = SMARTFIELD.TABLECATALOGID
where SMARTFIELD.ID = @SMARTFIELDID;
-- delete old records
set @SQL ='truncate table dbo.' + @TABLENAME;
exec sp_executesql @SQL;
-- insert new records
set @SQL = 'insert into dbo.' + @TABLENAME + '(ID, VALUE)
select
CR.CONSTITUENTID,
dbo.UFN_CONSTITUENTRECOGNITION_CONSECUTIVEYEARS(CR.ID)
from
dbo.UFN_CONSTITUENT_GETCURRENTRECOGNITIONS(getdate(),@RECOGNITIONPROGRAMID) CURRENTRECOGNITIONS
inner join dbo.CONSTITUENTRECOGNITION CR on CR.ID = CURRENTRECOGNITIONS.ID
where
CR.RECOGNITIONPROGRAMID = @RECOGNITIONPROGRAMID;'
exec sp_executesql @SQL, N'@RECOGNITIONPROGRAMID uniqueidentifier', @RECOGNITIONPROGRAMID;
set @SQL = 'select @ROWCOUNT = count(1) from dbo.' + @TABLENAME;
exec sp_executesql @SQL, N'@ROWCOUNT int output', @ROWCOUNT = @ROWCOUNT output;
select @ROWCOUNT;