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
  • 相关阅读:
    零基础学python-2.7 列表与元组
    什么是App加壳,以及App加壳的利与弊
    Linux tar包安装Nginx
    GT背靠背onsite
    编程算法
    DELPHI动态创建窗体
    扩展名为DBF的是什么文件啊?
    异构数据库之间完全可以用SQL语句导数据
    XP局域网访问无权限、不能互相访问问题的完整解决方案
    Delphi 之 菜单组件(TMainMenu)
  • 原文地址:https://www.cnblogs.com/BlueWoods/p/1681801.html
Copyright © 2011-2022 走看看