zoukankan      html  css  js  c++  java
  • 批量更新数据遍历数据

    declare @OrderTable Table(Rid int identity(1,1),Orderid int)
    declare @V_Count int=0
    insert into @OrderTable(Orderid)
    select id
    from T_OMSOnlineOrder t
    where t.OrderStatus in (1,2,3,4)----查询需要遍历的数据

    select @V_Count=COUNT(1)
    from @OrderTable


    while(@V_Count>0)
    begin

    declare @orderid int =0

    select @orderid=Orderid
    from @OrderTable
    where Rid=@V_Count--遍历数据

    declare @OmsOnlineOrderId INT,
    @AllNum INT ,
    @AllSku VARCHAR(max) ,
    @AllStoreSite VARCHAR(max) ,
    @IsGift BIT ,
    @StandardWeight DECIMAL(14,4)

    set @OmsOnlineOrderId=@orderid

    --重新计算商品数量 、 商品所有Sku 、 是否是赠品 、 重量
    SELECT @AllNum = ISNULL(SUM(Num-ISNULL(RefundQty,0)) ,0)
    ,@AllSku = stuff((select ','+Sku+'('+CONVERT(VARCHAR,ISNULL(sp.Num,0)-ISNULL(sp.RefundQty,0))+')' from dbo.T_OMSOnlineOrderProduct sp WITH(NOLOCK) WHERE sp.OMSOnlineOrderId =@OmsOnlineOrderId AND sp.RefundStatus<>6 for xml path('')), 1, 1, '') ,
    @allStoreSite = stuff((select ','+storesite from dbo.T_OMSOnlineOrderProduct sp WITH(NOLOCK) where sp.OMSOnlineOrderId = @orderid AND ISNULL(sp.StoreSite,'')<>'' AND sp.RefundStatus<>6 for xml path('')), 1, 1, '')
    ,@IsGift = CASE WHEN SUM(CONVERT(INT,ISNULL(IsGift,0)))=0 THEN 0 ELSE 1 END
    ,@StandardWeight = SUM(StandardWeight*(Num-ISNULL(RefundQty,0)))
    FROM dbo.T_OMSOnlineOrderProduct t WITH(NOLOCK) WHERE OMSOnlineOrderId=@orderid AND t.RefundStatus<>6

    SET @AllSku = SUBSTRING(@AllSku,0,255)

    SET @allStoreSite=SUBSTRING(@allStoreSite,0,255)


    update T_OMSOnlineOrder
    set AllStoreSite=@AllStoreSite
    where Id=@orderid

    set @V_Count=@V_Count-1----防止死循环
    end

  • 相关阅读:
    【转】常用插件的使用—grunt入门指南(上)
    基于Cordova的android项目入门
    【转】隐藏元素的子元素隐藏无效
    【转】IE7以下绝对定位被某元素遮挡
    关于“No projects are found to import”的解决方法
    【转】IE6中a标签触发图片和ajax请求被abort
    JS小笔记
    mysql删除重复数据
    国内优秀的团队技术博客
    mysql中的union和order by、limit
  • 原文地址:https://www.cnblogs.com/xuwj/p/3968799.html
Copyright © 2011-2022 走看看