zoukankan      html  css  js  c++  java
  • 存储过程里循环读取Array



    CREATE PROCEDURE dbo.s_Manager_UpdateManagerInCatalogID
    (
     @catalogIDArray nvarchar(512),
     @managerID int,
     @Message nvarchar(64) out
    )
    AS

     DECLARE @PointerPrev int
         DECLARE @PointerCurr int
         DECLARE @TId int
         Set @PointerPrev=1
         set @PointerCurr=1

     begin transaction

     Set NoCount ON
     DELETE FROM Common_ManagerINCatalogs where ManagerID = @ManagerID--删除以前的记录
        
         Set @PointerCurr=CharIndex(',',@catalogIDArray,@PointerPrev+1)
         set @TId=cast(SUBSTRING(@catalogIDArray,@PointerPrev,@PointerCurr-@PointerPrev) as int)

         Insert into Common_ManagerINCatalogs (ManagerID,CatalogID) Values(@ManagerID,@TId)

         SET @PointerPrev = @PointerCurr
         while (@PointerPrev+1 < LEN(@catalogIDArray))
         Begin
             Set @PointerCurr=CharIndex(',',@catalogIDArray,@PointerPrev+1) --假设已“,”分隔
             if(@PointerCurr>0)
             Begin
                 set @TId=cast(SUBSTRING(@catalogIDArray,@PointerPrev+1,@PointerCurr-@PointerPrev-1) as int)
                  Insert into Common_ManagerINCatalogs (ManagerID,CatalogID) Values(@ManagerID,@TId)
                 SET @PointerPrev = @PointerCurr
             End
             else
                 Break
         End
        
         set @TId=cast(SUBSTRING(@catalogIDArray,@PointerPrev+1,LEN(@catalogIDArray)-@PointerPrev) as int)
        Insert into Common_ManagerINCatalogs (ManagerID,CatalogID) Values(@ManagerID,@TId)
         Set NoCount OFF
         if @@error=0
         begin
             commit transaction
         end
         else
         begin
       rollback transaction
         end

      SELECT @Message = '{Success}'

    GO

  • 相关阅读:
    JVM
    事务
    Spring中AutowireMode(自动装配模型)
    ImportAware应用
    spring中几个比较重要的扩展点
    动态代理在Spring中的应用
    基于ImportSelector模拟简单的Aop
    正则表达式分组(Grouping)
    正则表达式断言(Assertions)
    一个JSON解析器
  • 原文地址:https://www.cnblogs.com/smallmuda/p/302698.html
Copyright © 2011-2022 走看看