zoukankan      html  css  js  c++  java
  • 存储过程-树形结构数据删除

    在项目中经常会遇到树形结构存储的数据,为了方便用户使用就会要求删除树的父节点同时子节点也跟着删除,这里根据网上查找的资料和自己的整理写了个存储过程,代码如下:

    create PROCEDURE [dbo].[proc_EntityList] @EntityId varchar(36)
    AS   
        BEGIN  
            SET NOCOUNT OFF  
            DECLARE @i INT  
            SET @i = 0  
    
            create table #FIDS --创建临时表#Tmp
            (
            id  varchar(36) not null, --创建列ID
            levelNo                varchar(50),      
            );
    
            INSERT  INTO #FIDS  
                    ( id, levelNo )  
            VALUES  ( @EntityId, -- id - int  
                      1  -- levelNo - int  
                      )  
            WHILE @@ROWCOUNT > 0   
                BEGIN  
                    SET @i = @i + 1  
                    INSERT  #FIDS  
                            SELECT  F.ID ,  
                                    @i + 1  
                            FROM    #FIDS R ,  
                                    dbo.EntityList F  
                            WHERE   F.PID = R.id  
                                    AND R.levelNo = @i  
                END  
                  
            DELETE  FROM dbo.EntityList  
            WHERE   ID IN ( SELECT  ID  
                            FROM    #FIDS )  
        END  
  • 相关阅读:
    46. 全排列
    90. 子集 II
    289. 生命游戏
    844. 比较含退格的字符串
    1266. 访问所有点的最小时间
    707. 设计链表
    DOM 关于dom的
    插件库
    浏览器判断
    FTP 客户端安装
  • 原文地址:https://www.cnblogs.com/xiangzhong/p/5028639.html
Copyright © 2011-2022 走看看