科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server 2008 新版CTP特性解读(3)

SQL Server 2008 新版CTP特性解读(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Microsoft刚刚发布了Microsoft SQL Server 2008.的下一代CTP(客户技术预览)。在软件的七月CTP发布中,Microsoft已经对它的最近的SQL Server 2008 CT加入了一些新的特性,包括改进的T-SQL数据类型……

作者:IT专家网 来源:IT专家网 2008年1月29日

关键字: SQL 2008 SQL SQL Server SQL Server 2008

  • 评论
  • 分享微博
  • 分享邮件
对于HierarchyID数据类型,系统中有一些系统函数和方法与之相联系。有一些像GetLevel(),ParentChildOrg(),DescendantLimit()和GetAncestor()。下面显示了一个简单的经理和雇员之间的父子关系的例子。

  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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章