子节点深度级联获取所有父节点sql
2012-12-25 10:44
190 查看
子节点深度级联获取所有父节点:
View Code
View Code
USE [DBName] GO /****** Object: UserDefinedFunction [dbo].[Fn_GetCategoryParent] ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create FUNCTION [dbo].[Fn_GetCategoryParent] ( @Id UNIQUEIDENTIFIER ) RETURNS @tb TABLE(CateID UNIQUEIDENTIFIER,CateName VARCHAR(50),ParentID UNIQUEIDENTIFIER,DisplayName VARCHAR(50), Remark VARCHAR(256), [Level] int) AS BEGIN DECLARE @i INT SET @i = 1 INSERT INTO @tb SELECT CateID,CateName,ParentID,Remark,DisplayName,0 FROM dbo.T_Sys_Category WHERE CateID = @id INSERT INTO @tb SELECT CateID,CateName,ParentID,Remark,DisplayName,@i FROM dbo.T_Sys_Category WHERE CateID = (SELECT ParentID FROM dbo.T_Sys_Category WHERE CateID = @Id) --如果没有新的值插入,循环结束 WHILE @@rowcount<>0 BEGIN SET @i = @i + 1; INSERT INTO @tb SELECT a.CateID,a.CateName,a.ParentID,a.Remark,a.DisplayName,@i FROM dbo.T_Sys_Category a, @tb b WHERE a.CateID = b.ParentID and b.Level = @i - 1 END RETURN END
相关文章推荐
- SQL 递归查询(根据指定的节点向上获取所有父节点,向下获取所有子节点)
- 通用树状节点 获取所有叶节点和支节点 sql
- 根据根节点获取所有的子节点SQL语句
- 【数据库SQL实战】获取所有部门当前manager的当前薪水情况
- sql获取表的所有字段及属性
- SQL 创建标量函数 获取 类别 深度
- 根据相同的class名获取所有的节点
- 获取SQL所有数据库名、所有表名、所有字段名、表字段长度
- zTree获取所有节点
- SQL获取指定数据表所有字段类型和精度脚本
- 替归算法获取Treeview所有节点
- 获取SQL所有用户名、数据库名、所有表名、所有字段名
- Linq to SQL中获取所有表名和列名
- 递归获取treeview选中父节点的所有子节点
- 查询获取树下的所有节点
- 获取CxDBTreeList所有父节点
- php递归无限级分类【先序遍历算】,获取任意节点下所有子孩子
- SQL 双亲节点查找所有子节点的实现方法
- 复制指定节点及其所有子节点到指定结点的处理示例(借鉴方式排序法).sql
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)