UFN_SITEHIERARCHY_GETNEWDESCENDANTVALUE
This function returns the next available descendant hierarchyid for a site.
Return
Return Type |
---|
hierarchyid |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PARENTID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_SITEHIERARCHY_GETNEWDESCENDANTVALUE
(
@PARENTID uniqueidentifier = null
)
returns
hierarchyid
as
begin
declare @PARENTHIERARCHYID hierarchyid;
if @PARENTID is null
set @PARENTHIERARCHYID = hierarchyid::GetRoot();
else begin
select
@PARENTHIERARCHYID = SITE.HIERARCHYPATH
from
dbo.SITE
where
SITE.ID = @PARENTID;
end
declare @LASTCHILDHIERARCHYID hierarchyid;
select
@LASTCHILDHIERARCHYID = max(SITE.HIERARCHYPATH)
from
dbo.SITE
where
SITE.HIERARCHYPATH.GetAncestor(1) = @PARENTHIERARCHYID;
return @PARENTHIERARCHYID.GetDescendant(@LASTCHILDHIERARCHYID, null);
end