HierarchyId通过父节点创建一个新的子节点

--HierarchyId通过父节点创建一个新的子节点
CREATE TABLE #temp(
node HierarchyID
);

insert into #temp
select '/' union all
select '/1/' union all
select '/2/' union all
select '/1/1/' union all
select '/1/2/' union all
select '/1/1/1/' union all
select '/1/1/1/1/'

declare @HyId hierarchyid=HierarchyID::Parse('/1/2/');--父级节点
declare @NewHyId hierarchyid;

select @NewHyId=@HyId.GetDescendant(MAX(node),null) from #temp Where node.GetAncestor(1)=@HyId--创建一个新的节点

insert into #temp(node) values(@NewHyId)
select *,node.ToString() from #temp

hierarchyid 数据类型的方法 

posted @ 2018-11-23 12:19  hllive  阅读(369)  评论(0编辑  收藏  举报