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