Пример:
select EmployeeID,
Name,
HID,
HID.ToSting()
from Employee;
HID нового сотрудника должен быть /3.1/, или /3.5/, или /3.25/, или
любой в таком роде.
А если надо будет вставить узел между /3.1/ и /3.2/? Тогда HID может
быть /3.1.1/ или /3.1.41/ .
Ну а если надо вставить узел «слева» от Janet /1/ ? Тогда адрес может
быть /0/ или даже /-1/ .
/-12.3.0.-2/0.2.-54.0.723/45/17.1051.-34/745/-301/
, не удивляйтесь.
Примеры:
GetReparentedValue( <oldParetNode>, <newParentNode> ) -позволяет
изменить текущего предка. Первый параметр это HierarchyID узла, который
необходимо переподчинить со всеми его потомками, второй – новый код
HierarchyID для этого узла.
Примеры:
--первый потомок
update Employee
set HID = @parent.GetDescendant(null, null)
where EmployeeID = 3;
update Employee
set HID = @child_2
where EmployeeID = 1;