UFN_CLIENTROLE_GETCHILDIDS
Returns the child roles of the specified cms client role.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PARENTROLEID | int | IN |
Definition
Copy
create function dbo.UFN_CLIENTROLE_GETCHILDIDS(@PARENTROLEID int)
returns
@CHILDROLES table
(
ID int
)
with execute as caller
as
begin
declare @CHILDROLESTEMP table
(
ID int
);
with CHILDROLES(ROLEID)
as
(
--Anchor member definition
select CRC.[CHILDCLIENTROLEID]
from [DBO].CLIENTROLECHILD as CRC
inner join dbo.ClientRoles CR on CR.ID = CRC.CHILDCLIENTROLEID
where CR.deleted = 0 and CRC.[PARENTCLIENTROLEID] = @PARENTROLEID
union all
--Recursive member definition
select CRC.[CHILDCLIENTROLEID]
from [DBO].CLIENTROLECHILD as CRC
inner join CHILDROLES as CHILDREN
on CRC.PARENTCLIENTROLEID = CHILDREN.ROLEID
inner join dbo.ClientRoles CR on CR.ID = CRC.CHILDCLIENTROLEID
where CR.deleted = 0
)
insert into @CHILDROLESTEMP
select * from CHILDROLES OPTION (MAXRECURSION 100)
insert into @CHILDROLES
select distinct ID from @CHILDROLESTEMP
return
end