USP_ATTRIBUTE_DELETECONSTITUENTATTRIBUTE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_ATTRIBUTE_DELETECONSTITUENTATTRIBUTE
(
@CONSTITUENTID uniqueidentifier
)
as
begin
set nocount on;
declare @TABLENAME nvarchar(128);
declare @COLUMNNAME nvarchar(128);
declare @SQL nvarchar(500);
declare attribute_cursor cursor local fast_forward for
select 'ATTRIBUTE' + REPLACE(AC.ID,'-',''),
case
when RT.BASETABLENAME in ('MODELINGANDPROPENSITY', 'CONSTITUENT') and AC.ONLYALLOWONEPERRECORD = 1 then 'ID'
when RT.BASETABLENAME = 'MODELINGANDPROPENSITY' then 'MODELINGANDPROPENSITYID'
else 'CONSTITUENTID'
end
from ATTRIBUTECATEGORY AC
join ATTRIBUTERECORDTYPE ART on ART.ID = AC.ATTRIBUTERECORDTYPEID
join RECORDTYPE RT on RT.ID = ART.RECORDTYPEID
where RT.BASETABLENAME in ('MODELINGANDPROPENSITY', 'CONSTITUENT');
open attribute_cursor;
fetch next from attribute_cursor into @TABLENAME, @COLUMNNAME;
while @@fetch_status = 0
begin
set @SQL = 'delete from dbo.' + @TABLENAME + ' where ' + @COLUMNNAME + ' = ''' + cast(@CONSTITUENTID as nvarchar(36)) + '''';
exec sp_executesql @SQL;
fetch next from attribute_cursor into @TABLENAME, @COLUMNNAME;
end
close attribute_cursor;
deallocate attribute_cursor;
end