UFN_PROXYUSER_COMPAREROLES

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@PROXYOWNERID uniqueidentifier IN
@SOURCEAPPUSERID uniqueidentifier IN

Definition

Copy


        create function dbo.UFN_PROXYUSER_COMPAREROLES
            (@PROXYOWNERID uniqueidentifier,
            @SOURCEAPPUSERID uniqueidentifier)
        returns bit
        with execute as caller
        as begin
                declare @PROXYOWNER_ROLES_COUNT int;
                declare @SOURCEUSER_ROLES_COUNT int;
                declare @HASALLROLES bit;


                set @HASALLROLES = 0;

                select @SOURCEUSER_ROLES_COUNT = count(1) from dbo.SYSTEMROLEAPPUSER where APPUSERID = @SOURCEAPPUSERID;


                select @PROXYOWNER_ROLES_COUNT=count(PROXYOWNER.SYSTEMROLEID )
                from dbo.SYSTEMROLEAPPUSER PROXYOWNER 
                inner join dbo.SYSTEMROLEAPPUSER SOURCEUSER on PROXYOWNER.SYSTEMROLEID=SOURCEUSER.SYSTEMROLEID
                where PROXYOWNER.APPUSERID=@PROXYOWNERID
                and SOURCEUSER.APPUSERID = @SOURCEAPPUSERID;

                if( (@SOURCEUSER_ROLES_COUNT = 0) or (@PROXYOWNER_ROLES_COUNT>=@SOURCEUSER_ROLES_COUNT))
                    begin
                        set @HASALLROLES = 1;
                    end

            return cast(@HASALLROLES as bit);
        end