• 存储过程小技巧(1)分解字符串


    '@cNodeIDStr值的形式为:5,6,
       If @cNodeIDStr<>'' --开始分解子节点串,并递归
       Begin
        --Set @cNodeIDStr=Left(@cNodeIDStr, Len(@cNodeIDStr)-1) --去掉最后一个逗号
        
        While CharIndex(',', @cNodeIDStr) <> 0
        Begin
         Set @cNodeIDTmp = ''
         --根据逗号提取子节点ID并且裁剪子节点ID串
         Declare @sLen int
         Set @sLen = CharIndex(',', @cNodeIDStr)       --取第一个逗号的位置
         Set @cNodeIDTmp = Left(@cNodeIDStr, @sLen-1)   --取第一个逗号位置的ID
         Set @cNodeIDStr = Right(@cNodeIDStr, Len(@cNodeIDStr)-@sLen) --取之后的ID串

         If @cNodeIDTmp='' Or @cNodeIDTmp Is Null --不存在则跳过遁环
          Begin
           Continue
          End
         Else--存在则递归
          Begin
           Set @cNodeID = Cast(@cNodeIDTmp As bigint)
           --print @cNodeIDTmp
           --GRANT EXEC ON ProUpdateCompPath TO PUBLIC
           Exec SeekdreamTree @TableName, @IDField, @CodeField, @cNodeID
          End


        End  


       End

  • 相关阅读:
    博弈论基础与习题(未完)
    三视图求最多方块数
    二维前缀和应用
    卡特兰数
    UVa 11806 Cheerleaders(容斥定理)
    逃出升天
    求排列的逆序数
    求2进制下1的个数
    字符串哈希基础与应用
    网络流基础与应用
  • 原文地址:https://www.cnblogs.com/liuweitoo/p/700547.html
Copyright © 2020-2023  润新知