zoukankan      html  css  js  c++  java
  • SqlServer 递归查询

    表:

    CREATE TABLE Category(

      ID      INT,

      NAME     INT,

      ParentID   INT

    向上递归:

     

    代码
    CREATE    FUNCTION [dbo].[GetRootCategoryID]
    /*
        Author:yanghh
        Date:2009-08-10
        des:得到某一类根结点
    */
    (
        
    @CategoryID INT
    )
    RETURNS @SubCategory TABLE(CategoryID INT,Level INT)
    AS
    BEGIN
        
    DECLARE @level    INT
        
    SET @level = 0
        
    INSERT INTO @SubCategory
        
    SELECT ID,@level FROM Category WHERE ID=@CategoryID
        
    WHILE @@ROWCOUNT >0
        
    BEGIN
            
    SET @level = @level+1
            
    INSERT INTO @SubCategory
            
    SELECT ParentId,@level FROM Category A, @SubCategory B 
                
    WHERE B.CategoryID = A.ID AND B.Level=@level-1
        
    END
        
    RETURN
    END

    向下递归:

    代码
    CREATE    FUNCTION [dbo].[GetChildCategoryID]
    /*
        Author:yanghh
        Date:2009-08-10
        des:得到某一类别子结点

    */
    (
        
    @CategoryID INT
    )
    RETURNS @SubCategory TABLE(CategoryID INT,Level INT)
    AS
    BEGIN
        
    DECLARE @level    INT
        
    SET @level = 0
        
    INSERT INTO @SubCategory
        
    SELECT ID,@level FROM CC_VOD_FilmCategory WHERE ID=@CategoryID
        
    WHILE @@ROWCOUNT >0
        
    BEGIN
            
    SET @level = @level+1
            
    INSERT INTO @SubCategory
            
    SELECT ParentId,@level FROM Category A, @SubCategory B 
                
    WHERE B.CategoryID = A.ParentID AND B.Level=@level-1
        
    END
        
    RETURN
    END
  • 相关阅读:
    Linux学习之查看是否安装软件
    Linux学习之nfs实例
    Linux学习之nfs安装配置
    Linux 学习之防火墙配置
    Linux学习之系统时间同步
    Linux学习之守护进程详解
    Linux学习之Center os网络配置
    Linux学习之挂载操作
    Linux学习之挂载
    Linux学习之开机启动
  • 原文地址:https://www.cnblogs.com/BlueWoods/p/1681801.html
Copyright © 2011-2022 走看看