Member 14641515 Ответов: 1

Как я могу использовать тип данных hierarchicalid?


Создайте таблицу dbo.Семья
(
Memberid INT NOT NULL,
Спрятался типа данных hierarchyid не null,
Лвл как спрятался.GetLevel() сохранялся,
MemberName VARCHAR(25) NOT
НУЛЕВОЙ
)

1-Как я могу вставить в таблицу?
2-как я могу установить Hid или справиться с ним
3-Как использовать функцию типа GetDescendant, чтобы получить выгоду от использования иерархического столбца

Спасибо

Что я уже пробовал:

Я впервые имею дело с иерархической колонкой

1 Ответов

Рейтинг:
5

MadMyche

Самый простой способ вставить HierarchyID с помощью Слэш-путь-Слэш номенклатура... он же вариант ToString() двоичного HierarchyID.

Это ресурсы, которые я использую для иерархий:
H - это для… HierarchyID – Джим О'Нил – Технологический Евангелист[^]
Иерархические данные (SQL Server) - SQL Server | Microsoft Docs[^]

INSERT #Family (MemberID, hID, MemberName)
VALUES (0, '/0/',    'Grandfather')
,      (1, '/0/1/',  'Dad')
,      (2, '/0/1/1/',  'Son')
,      (3, '/0/1/2/', 'Brother')

,      (4, '/0/2/', 'Uncle')
,      (5, '/0/2/1/', 'Cousin')

SELECT   MemberID, hID, lvl, MemberName,  [hID.ToString()] = hid.ToString()
FROM     #Family
ORDER BY hID


Вернется этот:
MemberID    hID     lvl  MemberName  hID.ToString()
--------    ------  ---  ----------  --------------
0           0x48     1    Root        /0/
1           0x4AC0   2    Dad         /0/1/
2           0x4AD6   3    Son         /0/1/1/
3           0x4ADA   3    Brother     /0/1/2/
4           0x4B40   2    Uncle       /0/2/
5           0x4B56   3    Cousin      /0/2/1/


Member 14641515

Спасибо Вам за вашу любезную помощь
Это был очень четкий пример из вашего

MadMyche

Пожалуйста