更好地理解 HeirarchyId 节点
Understanding HeirarchyId Node a little better
我正在查看 SQLserver 2008 中的 HeirarchyId 并参考了以下文档:
http://www.codeproject.com/Tips/740553/Hierarchy-ID-in-SQL-Server
据我所知,像
这样的说法
INSERT INTO H (Node, ID, Name)
VALUES (HierarchyId::GetRoot(), 1, 'Thuru')
将向数据库中插入一个节点对象。其中有三个属性,每一个都转换成一列:
- 节点文本
- 节点
- 节点级别
其中 Node 包含一些人类不可读的值,但我认为 Node Text 是一个吸引眼球的地方,它包含 一种格式,它既是人类可读的,又能跟踪每个节点在其中的位置那个树。因此,当我们说 "HeirarchyId" 它指的是哪一列时,Node 和 NodeText 是完全相同的东西,除了 Node Text 是 Node 的人类可读表示之外?
Node是示例中数据类型为HierarchyID的列名。在此查询的结果中,NodeText 是一个派生列,它是 Node 列路径的字符串表示形式(如您所说,Node 不是人类可读的)。
对于节点所在的每个深度级别,子节点将由斜杠分隔 - 因此孙子节点可能看起来像:1/3/15
NodeText Node NodeLevel ID Name
=============================================
/ 0x 0 1 Thuru
我正在查看 SQLserver 2008 中的 HeirarchyId 并参考了以下文档:
http://www.codeproject.com/Tips/740553/Hierarchy-ID-in-SQL-Server
据我所知,像
这样的说法INSERT INTO H (Node, ID, Name)
VALUES (HierarchyId::GetRoot(), 1, 'Thuru')
将向数据库中插入一个节点对象。其中有三个属性,每一个都转换成一列:
- 节点文本
- 节点
- 节点级别
其中 Node 包含一些人类不可读的值,但我认为 Node Text 是一个吸引眼球的地方,它包含 一种格式,它既是人类可读的,又能跟踪每个节点在其中的位置那个树。因此,当我们说 "HeirarchyId" 它指的是哪一列时,Node 和 NodeText 是完全相同的东西,除了 Node Text 是 Node 的人类可读表示之外?
Node是示例中数据类型为HierarchyID的列名。在此查询的结果中,NodeText 是一个派生列,它是 Node 列路径的字符串表示形式(如您所说,Node 不是人类可读的)。
对于节点所在的每个深度级别,子节点将由斜杠分隔 - 因此孙子节点可能看起来像:1/3/15
NodeText Node NodeLevel ID Name
=============================================
/ 0x 0 1 Thuru