Я ссылаюсь на презентацию Билла Карвина, чтобы реализовать закрывающую таблицу, которая поможет мне управлять иерархиями. К сожалению, в презентации не показано, как можно вставить/обновить столбец Level
, упомянутый на слайде 67; это было бы очень полезно. Я думал об этом, но я не мог придумать что-то конкретное, что я мог бы проверить. Вот что я получил до сих пор:
create procedure USP_OrganizationUnitHierarchy_AddChild
@ParentId UNIQUEIDENTIFIER,
@NewChildId UNIQUEIDENTIFIER
AS
BEGIN
INSERT INTO [OrganizationUnitHierarchy]
(
[AncestorId],
[DescendantId],
[Level]
)
SELECT [AncestorId], @NewChildId, (here I need to get the count of ancestors that lead to the currently being selected ancestor through-out the tree)
FROM [OrganizationUnitHierarchy]
WHERE [DescendantId] = @ParentId
UNION ALL SELECT @NewChildId, @NewChildId
END
go
Я не уверен, как я мог это сделать. Любые идеи?