实现SQL Server传送数组参数变通的方案描述

[IT科技类资讯] 时间:2025-11-05 13:54:52 来源:益强IT技术网 作者:应用开发 点击:19次
实现SQL Server传送数组参数变通的方案描述
复制CREATE PROCEDURE dbo.ProductListUpdateSpecialList    @ProductId_Array varChar(800),实现送数数变    @ModuleId int    AS    DECLARE @PointerPrev int    DECLARE @PointerCurr int    DECLARE @TId int    Set @PointerPrev=1 set @PointerCurr=1 begin transaction    Set NoCount ON    delete from ProductListSpecial where ModuleId=@ModuleId    Set @PointerCurr=CharIndex(,,@ProductId_Array,@PointerPrev+1)    set @TId=cast(SUBSTRING(@ProductId_Array,@PointerPrev,@PointerCurr-@PointerPrev) as int)    Insert into ProductListSpecial (ModuleId,ProductId) Values(@ModuleId,@TId)    SET @PointerPrev = @PointerCurr    while (@PointerPrev+1 <LEN(@ProductId_Array))    Begin    Set @PointerCurr=CharIndex(,,@ProductId_Array,@PointerPrev+1)    if(@PointerCurr> 0)    Begin    set @TId=cast(SUBSTRING(@ProductId_Array,@PointerPrev+1,@PointerCurr-@PointerPrev-1) as int)    Insert into ProductListSpecial (ModuleId,ProductId) Values(@ModuleId,@TId)    SET @PointerPrev = @PointerCurr    End    else    Break    End    set @TId=cast(SUBSTRING(@ProductId_Array,@PointerPrev+1,LEN(@ProductId_Array)-@PointerPrev) as int)    Insert into ProductListSpecial (ModuleId,ProductId) Values(@ModuleId,@TId)    Set NoCount OFF    if error=0 begin    commit transaction    end    else    begin    rollback transaction    end    GO    1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.

(责任编辑:域名)

    相关内容
    精彩推荐
    热门点击
    友情链接