例如:A有一个孩子B。B有孩子CC有孩子D。如果我搜索A的子元素,我必须得到B,C,D。
我不能使用CTE
对于这一点,有了像hirerarchyid这样的新数据类型,我们可以非常简单更好地获得hirarical streture。但是,在插入数据时,我们必须输入谁在下面的代码下
CREATE TABLE [dbo].[EMP](
[EMPNO] [numeric](4, 0) NOT NULL,
[ENAME] [varchar](10) NULL,
[JOB] [varchar](9) NULL,
[MGR] [numeric](4, 0) NULL,
[HIREDATE] [date] NULL,
[SAL] [numeric](7, 2) NULL,
[COMM] [numeric](7, 2) NULL,
[DEPTNO] [numeric](2, 0) NULL,
[hir] [hierarchyid] NOT NULL
)
7839 KING PRESIDENT NULL 1981-11-17 5000.00 NULL 10 /
7698 BLAKE MANAGER 7839 1981-01-05 2850.00 NULL 30 /1/
7782 CLARK MANAGER 7839 1981-09-06 2450.00 NULL 10 /1/1/
7566 JONES MANAGER 7839 1981-02-04 2975.00 NULL 20 /2/
here/is根节点和/1/1/是如下所示的一对一这里有许多methode gothrough的链接http://www.codeproject.com/Articles/37171/HierarchyID-Data-Type-in-SQL-Server