私は HierarchyId の世界に非常に慣れておらず、HierarchyId() を SQLServer 設計に実装しようとしていますが、SQL Server ではテーブルごとに列ごとに 1 つのルート ノードしか許可されていないという印象を受けました。ノードの場合、エラーが発生するか、警告がスローされます。
INSERT INTO dbo.TeamHierarchy
( TeamNode, TeamId, TeamNodeName )
VALUES ( HierarchyId::GetRoot(), -- TeamNode - hierarchyid
1, -- TeamId - int
'TeamContainer' -- TeamNodeName - varchar(50)
)
私の推測は、私が読んだいくつかのスレッドに基づいていました。
複数のルート ノードを持つ SQL 2008 HierarchyID
ただし、上記の挿入クエリはエラーや警告なしで完全に機能するため、SQL サーバーは複数のルートを持つことに問題はないようです。SQL Server 2012 を使用しているため、SQL Server 2008 以降に何か変更はありますか? それとも私の側に誤解がありましたか?