データベースに次の階層表現があるとします。
A
|_B_C
|_D
次に、A (または B) から子ノードを取得します。逆に、特定の子ノードから親を取得したいですか? <>
CREATE TABLE tbl (
Node HierarchyID PRIMARY KEY CLUSTERED,
NodeLevel AS Node.GetLevel(),
ID INT UNIQUE NOT NULL,
Name VARCHAR(50) NOT NULL
)
ルートの挿入:
INSERT INTO tbl (Node, ID, Name)
VALUES (HierarchyId::GetRoot(), 1, 'A')
子B
DECLARE @parent HierarchyId = HierarchyId::GetRoot()
INSERT INTO tbl (Node,ID,Name) VALUES (@parent.GetDescendant(NULL,NULL),2,'B')