spRoleInUseByChapter

Parameters

Parameter Parameter Type Mode Description
@ChaptersFoundUsingRole bit INOUT
@ErrorMessage nvarchar(256) INOUT
@ClientRoleID int IN

Definition

Copy


        CREATE procedure dbo.spRoleInUseByChapter
        (
            @ChaptersFoundUsingRole bit output,
            @ErrorMessage nvarchar(256) output,
            @ClientRoleID int   
        ) 

        as

        begin 
        declare @ChapterSiteName nvarchar(40)

        set @ChaptersFoundUsingRole = 0

        set @ErrorMessage = 'Unable to delete this role because it is used by the following Chapter Manager Part(s): '

        declare ChaptersUsingRole cursor local for
        select distinct SiteContent.[Title] from SiteContent inner join ChapterSite on SiteContent.[ID] = ChapterSite.SiteContentID
        inner join Chapters on ChapterSite.[ID] = Chapters.[ChapterSiteID] inner join ChapterRoles
        on Chapters.[ID] = ChapterRoles.[ChapterID]
        where ChapterRoles.[ClientRolesID] = @ClientRoleID

        open ChaptersUsingRole

        fetch next from ChaptersUsingRole
        into @ChapterSiteName

        while @@FETCH_STATUS = 0
        begin
        --STUFF ( character_expression , start , length , character_expression ) 
            select @ErrorMessage = @ErrorMessage +  @ChapterSiteName +  ', '
            set @ChaptersFoundUsingRole = 1

           fetch next from ChaptersUsingRole
           into @ChapterSiteName
        end

        close ChaptersUsingRole
        deallocate ChaptersUsingRole

        select @ErrorMessage = LEFT(@ErrorMessage, LEN(@ErrorMessage) - 1)

        end