zoukankan      html  css  js  c++  java
  • 根据父级编号获取无限树结构数据表中所有子节点的数据

    根据父级编号获取无限树结构数据表中所有子节点的数据 -sql server 2005
    -------------------------create FUNCTION  script-----------------------------
    CREATE FUNCTION f_tDictRegion_GetChilds(@ParentID INT)
    RETURNS @Rt TABLE(ID INT,Level INT,Name VARCHAR(8000))
    AS
    BEGIN
        DECLARE @L INT
        SET @L=0
        INSERT @Rt SELECT ID,@L,Name
        FROM tDictRegion where ParentID=@ParentID
        WHILE @@ROWCOUNT>0
        BEGIN
            SET @L=@L+1
            INSERT @Rt SELECT a.ID,@L,b.Name+'/'+a.Name
            FROM tDictRegion a,@Rt b
            WHERE a.ParentID=b.ID and b.Level=@L-1
        END
        RETURN
    END
    -------------------------create TABLEscript-----------------------------
    USE [test]
    GO
    /****** 对象:  Table [dbo].[tDictRegion]    脚本日期: 04/06/2012 12:39:01 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[tDictRegion](
     [ID] [int] NOT NULL,
     [NAME] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
     [LEAVE] [int] NOT NULL,
     [ParentID] [int] NOT NULL
    ) ON [PRIMARY]

    GO
    SET ANSI_PADDING OFF

    ---------DATA---------
    111 111 0 0
    222 222 1 111
    333 333 2 222
    444 444 3 333
    555 555 5 111
    666 666 6 1
    777 777 7 0
    ---------SELECT---------
    SELECT [ID]
          ,[NAME]
          ,[LEAVE]
      FROM [test].[dbo].[tDictRegion]

  • 相关阅读:
    Python 多线程,文件io
    Python map/reduce函数式编程
    LeetCode 77 组合
    LeetCode 198 打家劫舍
    LeetCode 138 复制带随机指针的链表
    LeetCode 445 两数相加 II
    LeetCode 2 两数相加
    LeetCode 215 数组中的第K个最大元素
    和为S的两个数字
    数组中重复的数字
  • 原文地址:https://www.cnblogs.com/anuoruibo/p/2434456.html
Copyright © 2011-2022 走看看