USP_CREATE_CONSTIT_SECURITY_ATTR_VIEW

Creates a view for the constituent security attribute with the given ID.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@NAME nvarchar(100) IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_CREATE_CONSTIT_SECURITY_ATTR_VIEW

@ID uniqueidentifier,@NAME NVARCHAR(100),@CHANGEAGENTID uniqueidentifier

 with execute as owner as
    set nocount on;

    declare @SQL nvarchar(max);
    declare @IDSTRING nchar(36);

    set @IDSTRING = convert(nchar(36), @ID);

    set @SQL = 'create view dbo.V_CONSTIT_SECURITY_ATTR_' + replace(@IDSTRING,'-','_') + ' with schemabinding' + nchar(13);
    set @SQL = @SQL + 'as' + nchar(13);
    set @SQL = @SQL + 'select CONSTITUENTID AS ID from dbo.CONSTIT_SECURITY_ATTRIBUTE_ASSIGNMENT' + nchar(13);
    set @SQL = @SQL + 'where CONSTIT_SECURITY_ATTRIBUTEID = ' + nchar(39) + @IDSTRING + nchar(39) + ';';

    exec (@SQL);

  --bez 2/25/08 due to a bug with sql server selecting the wrong index we are no longer going to create this clustered index

    --set @SQL = 'create unique clustered index IX_V_CONSTIT_SECURITY_ATTR_' + replace(@IDSTRING,'-','_') + '_ID' + nchar(13);

    --set @SQL = @SQL + 'on dbo.V_CONSTIT_SECURITY_ATTR_' + replace(@IDSTRING,'-','_') + ' ([ID]) on IDXGROUP;';


    --exec (@SQL);



    set @SQL = 'grant select on dbo.V_CONSTIT_SECURITY_ATTR_' + replace(@IDSTRING,'-','_') + nchar(13);
    set @SQL = @SQL + ' to BBAPPFXSERVICEROLE';

    exec (@SQL);

    set @SQL = 'grant select on dbo.V_CONSTIT_SECURITY_ATTR_' + replace(@IDSTRING,'-','_') + nchar(13);
    set @SQL = @SQL + ' to BBAPPFXREPORTROLE';

    exec (@SQL);


    DECLARE @CONSTITUENTRECORDTYPEID uniqueidentifier;

    select
                @CONSTITUENTRECORDTYPEID = [ID]
            from
                dbo.[RECORDTYPE]
            where
                [NAME] = 'Constituent';

    insert into dbo.[IDSETREGISTER]
                (
                    [NAME],
                    [DESCRIPTION],
                    [RECORDTYPEID],
                    [DBOBJECTNAME],
                    [OBJECTTYPE],
                    [STATIC],
                    [USEINQUERYDESIGNER]
                    ,[ADDEDBYID]
                    ,[CHANGEDBYID]
                )
                values
                (
                    @NAME + ' (Security Group)',
                    'Records in Constituent Security Group ' + @NAME ,
                    @CONSTITUENTRECORDTYPEID,
                    'V_CONSTIT_SECURITY_ATTR_' + replace(@IDSTRING,'-','_'),
                    0,
                    0,
                    1
                    ,@CHANGEAGENTID
                    ,@CHANGEAGENTID
                );