zoukankan      html  css  js  c++  java
  • MSSQ 树型结构数据 循环操作

       DECLARE @dict TABLE (value  VARCHAR(50),[level] int )
       DECLARE @TYPEID NVARCHAR(50) 
       DECLARE @LEVEL INT =0   
       INSERT @dict     
       SELECT  TYPEID,@LEVEL FROM DBO.BAS_WORKSHOP WHERE WID=@WID  --参数值 
       WHILE EXISTS(SELECT * FROM dbo.BAS_WORKSHOP where parid in (select value from @dict where [level]=@LEVEL ))
       BEGIN
          set @LEVEL+=1; 
          insert into @dict(value,[level])
          select typeid,@LEVEL from dbo.BAS_WORKSHOP where parid in (select value from  @dict where  [level]=@LEVEL-1 )
       END  
       UPDATE DBO.BAS_WORKSHOP SET DELETED=1 WHERE TYPEID IN (select value from @dict where [level]>0) 
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GP_DoStartStopWorkshop]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].GP_DoStartStopWorkshop
    判断存储过程
    Bas_Workshop 主要数据列

    WID

    TypeID(ID) DELETED ParID(PID)
    27  00000  0 root
    79  00001  0 00000
    80  00002  0 00000
    81  0000100001  0 00001
  • 相关阅读:
    Array.from和 map的相同用法
    js复制数组的各种方式
    set集合转数组的两种方法
    关于set集合去重的问题
    Object.is判断两个值是否相等
    数组排序
    函数默认值的取值
    标准索引
    pgsql update left join
    linux pgsql
  • 原文地址:https://www.cnblogs.com/valeb/p/13228411.html
Copyright © 2011-2022 走看看