知识大全 简单查询树形结构数据库表

Posted 函数

篇首语:或许是时间炖化了他们的异端,或许是岁月油炸了我的坚持。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 简单查询树形结构数据库表相关的知识,希望对你有一定的参考价值。

  在与同事讨论中 得到一个思路 不用嵌套调用直接用一个语句就可以生成树 实事上他已经做好了该程序 他用了临时表写了一个存储过程 我改写为一个表值函数 供大家参考

  表结构及表值函数如下

  查询树表语句

  

   /**//**** Object:  Table [dbo] [Tree]    Script Date: : : ***/  CREATE TABLE [dbo] [Tree] (  [ID] [int] IDENTITY ( ) NOT NULL   [PID] [int] NULL   [Name] [varchar] ( ) COLLATE Chinese_PRC_CI_AS NULL   ) ON [PRIMARY]  GO    CREATE  CLUSTERED  INDEX [IX_Tree] ON [dbo] [Tree]([PID]) ON [PRIMARY] GO ALTER TABLE [dbo] [Tree] WITH NOCHECK ADD CONSTRAINT [PK_Tree] PRIMARY KEY  NONCLUSTERED (   [ID] )  ON [PRIMARY] CONSTRAINT [子ID不能等于父ID] CHECK ([ID] <> [PID]) GO ALTER TABLE [dbo] [Tree] ADD CONSTRAINT [FK_Tree_Tree] FOREIGN KEY (   [PID] ) REFERENCES [dbo] [Tree] (   [ID] ) GO /**//****** 对象:  用户定义的函数 dbo fGetTreeTable    脚本日期: : : ******/ CREATE FUNCTION dbo fGetTreeTable ( @ID int= null ) RETURNS @Tab TABLE(ID int PID int Name varchar( ) Lev int) AS BEGIN   Declare @lev int   Set @lev=     While @lev= or @@ROWCount>   Begin    Set @Lev=@Lev+    Insert @Tab(ID PID Name Lev)    Select ID PID Name @Lev From Tree Where (@Lev= and ((PID=@ID) or (@ID is null and PID is null))) or (PID in (Select ID From @Tab Where Lev=@Lev ))    order by ID   End   RETURN END GO 实际数据 Insert Tree(PID Name) values(null 公司) Insert Tree(PID Name) values( IT) Insert Tree(PID Name) values( Fin) Insert Tree(PID Name) values( XZ) Insert Tree(PID Name) values( HR) GO

cha138/Article/program/Oracle/201311/17837

相关参考

知识大全 数据结构 2.1 顺序表中元素定位操作

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  在顺序表中查询是否存在一个和给定值满足判定条件的元素的最简单的办法是依次取出

知识大全 数据结构之图的概念[1]

三种数据结构比较  线性表数据元素之间仅有线性关系每个数据元素只有一个直接前驱和一个直接后继  树形结构数据元素之间有着明显的层次关系并且每一层上的数据元素可能和下一层中多个元素相关但只能和上一层中一

知识大全 数据结构[2]

  二知识点解析  线性表  线性表是一种最简单的数据结构在线性表方面主要考查线性表的定义和基本操作线性表的实现在线性表实现方面要掌握的是线性表的存储结构包括顺序存储结构和链式存储结构特别是链式存储结

什么是树形系统(分级分布式系统)结构?其有什么特点?

  分级分布式系统的拓扑结构呈树状结构。如图6—1所示。在这种结构中,各计算机之间存在着较明显的层次关系,通常最下级的计算机执行数据的采集功能;中间级计算机执行数据的加工和控制功能;而高层计算机则根据

什么是树形系统(分级分布式系统)结构?其有什么特点?

  分级分布式系统的拓扑结构呈树状结构。如图6—1所示。在这种结构中,各计算机之间存在着较明显的层次关系,通常最下级的计算机执行数据的采集功能;中间级计算机执行数据的加工和控制功能;而高层计算机则根据

知识大全 Oracle数据库入门之查询基础

Oracle数据库入门之查询基础  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  简单的表操作  

知识大全 线性表的逻辑结构

线性结构是最简单且最常用的数据结构线性表是一种典型的线性结构线性表的逻辑定义  线性表(LinearList)是由n(n≥)个数据元素(结点)aa…an组成的有限序列  ①数据元素的个数n定义为表的长

知识大全 概论- 线性表的逻辑结构- 逻辑结构

  线性结构是最简单且最常用的数据结构线性表是一种典型的线性结构  线性表的逻辑定义  线性表(LinearList)是由n(n≥)个数据元素(结点)aa…an组成的有限序列  ①数据元素的个数n定义

知识大全 概论- 线性表的逻辑结构 - 逻辑结构

  线性结构是最简单且最常用的数据结构线性表是一种典型的线性结构  线性表的逻辑定义  线性表(LinearList)是由n(n≥)个数据元素(结点)aa…an组成的有限序列  ①数据元素的个数n定义

知识大全 数据结构之线性表的顺序存储[1]

  线性表的顺序存储是线性表的一种最简单最直接的存储结构它是用内存中的一段地址连续的存储空间顺序存放线性表的每一个元素用这种存储形式存储的线性表我们称其为顺序表在顺序表中用内存中地址的线性关系表示线性