SQL Server hierarchyid - 在两个现有的兄弟节点之间插入新节点

SQL Server hierarchyid - 在两个现有的兄弟节点之间插入新节点

问题描述:

假设我在SQL Server(2008 R2)中有一个hierarchyid列。比方说,我有以下节点已经在表中:SQL Server hierarchyid - 在两个现有的兄弟节点之间插入新节点

/1/ 
/1/1/ 
/1/2/ 

我想创造之间的“/ 1/1 /”和“/ 1/2 /”插入一个INSERT语句,创建节点“ /1/1.1/”。但是,我不想硬编码'/1/1.1/'。我想基于插入语句知道'/ 1/1 /'和'/ 1/2 /'。这将是一个存储过程,所以如果在插入语句之前需要一些T-SQL,那就没问题了。

想通了。原来,答案在于GetDescendant方法。在父'/ 1 /'上调用这个参数,传递'/ 1/1 /'和'/ 1/2 /'作为参数,返回'/1/1.1/'。