扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:IT专家网 来源:IT专家网 2008年1月29日
CREATE TABLE Organization ( NodeLevel hierarchyid, EmployeeID int, OrgLevel as NodeLevel.GetLevel(), EmployeeName nvarchar(50) NOT NULL ) ; GO insert into Organization (NodeLevel, EmployeeID, EmployeeName) values (hierarchyid::GetRoot(),0, 'Bob') go Declare @Manager hierarchyid SELECT @Manager = hierarchyid::GetRoot() FROM Organization ; insert into Organization (NodeLevel, EmployeeId, EmployeeName) values (@Manager.GetDescendant(null, null), 1, 'Joe') go Declare @Manager hierarchyid declare @NodeLevel hierarchyid select @NodeLevel = NodeLevel from Organization where EmployeeName = 'Joe' SELECT @Manager = max(NodeLevel) FROM Organization where NodeLevel.GetAncestor(1) = @NodeLevel insert into Organization (NodeLevel, EmployeeID, EmployeeName) values (@NodeLevel.GetDescendant(@Manager, null),2, 'Sarah') go select NodeLevel.ToString()as NodeLevel_String, * FROM Organization go drop table Organization go |
Select语句的输出就像下面一样:
NodeLevel_StringNodeLevelEmployeeIDOrgLevelEmployeeName /0x00Bob /1/0x5811Joe /1/1/0x5AC022Sarah |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。