USP_MEMBERSHIP_UPDATEATTRIBUTEQUERIES

Parameters

Parameter Parameter Type Mode Description
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


    create procedure dbo.USP_MEMBERSHIP_UPDATEATTRIBUTEQUERIES
    (
        @CHANGEAGENTID uniqueidentifier = null
    )
    as
    begin
        set nocount on;

        if @CHANGEAGENTID is null
            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

        declare @ATTRIBUTECATEGORYID uniqueidentifier;

        -- declare a cursor that returns all membership attribute category IDs

        declare ATTRIBUTECATEGORYCURSOR cursor local fast_forward for
            select
                ATTRIBUTECATEGORY.ID
            from
                dbo.ATTRIBUTECATEGORY
                inner join dbo.ATTRIBUTERECORDTYPE on ATTRIBUTECATEGORY.ATTRIBUTERECORDTYPEID = ATTRIBUTERECORDTYPE.ID
                inner join dbo.RECORDTYPE on ATTRIBUTERECORDTYPE.RECORDTYPEID = RECORDTYPE.ID
            where
                RECORDTYPE.BASETABLENAME = N'MEMBERSHIP';

        open ATTRIBUTECATEGORYCURSOR;
        begin try
            fetch next from ATTRIBUTECATEGORYCURSOR into @ATTRIBUTECATEGORYID;
            while @@FETCH_STATUS = 0
            begin
                -- update query view relationships for the attribute category

                exec dbo.USP_ATTRIBUTE_UPDATEATTRIBUTEQUERIES @ATTRIBUTECATEGORYID , 0, @CHANGEAGENTID;

                fetch next from ATTRIBUTECATEGORYCURSOR into @ATTRIBUTECATEGORYID;
            end

            close ATTRIBUTECATEGORYCURSOR;
            deallocate ATTRIBUTECATEGORYCURSOR;

        end try
        begin catch
            close ATTRIBUTECATEGORYCURSOR;
            deallocate ATTRIBUTECATEGORYCURSOR;
            exec dbo.USP_RAISE_ERROR;
            return 1;
        end catch

        return 0;
    end