• sqlserver 中实现一张表的数据更新另外一张表的数据


    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/hello_mr_anan/article/details/90228956
    之前使用过如下代码块这种方式,但是风险比较大。一下把一个表搞的数据乱了,只得恢复数据库重新替换过来,可能是where条件没有写好。

    update A SET A.cj = b.cj FROM A ,B WHERE A.Name = B.Name


    然后根据自己平时积累写下了如下代码,自己可以验证,风险比较小。

    第一步:首先查询你想要的语句到一个临时表中。可以查看一下是否插入成功

    select ROW_NUMBER() OVER(ORDER BY ID)as RowID,* into #tabl1 from V_QM_335 where id>=276 --获取你要的数据插入到一个临时表中
    select * from #tabl1


    第二步:定义变量@i循环i,@count表中数据总数,@ID每次循环的ID。然后从表中查询总数到@count中。查询到有101条数据

    declare @i int=0,@count int,@ID varchar(30)
    select @count=count(1) from #tabl1
    select @count


    第三步:主要的内容是while块的内容。里边先查询了一下看了看语句是否正确。如下图。验证没毛病后,把select语句注释掉,然后启用exec语句块循环执行语句。OK!!!

    select ROW_NUMBER() OVER(ORDER BY ID)as RowID,* into #tabl1 from V_QM_335 where id>=276 --获取你要的数据插入到一个临时表中
    select * from #tabl1
    declare @i int=0,@count int,@ID varchar(30)
    select @count=count(1) from #tabl1
    select @count
    while(@i<=@count)
    begin
    select @ID=V_335_1_10000005 from #tabl1 where RowID=@i
    declare @strSql varchar(max)='update V_QM_340 set pid='+(select convert(varchar(10),max(ID)) from #tabl1 where V_335_1_10000005=@ID)+' where
    V_340_1_10000005='''+@ID+''''
    select(@strSql)
    --exec(@strSql)
    set @i+=1
    end

  • 相关阅读:
    React之Axios请求远程数据
    React生命周期改善组件性能
    React生命周期钩子/函数详细介绍
    React之ref操作DOM(ref = {input=>this.input = input})
    集成学习
    c++ primer plus 第五章 课后题答案
    c++ primer plus 第四章 课后题答案
    c++ primer plus 第三章 课后题答案
    c++ primer plus 第二章 课后题答案
    类别不平衡问题
  • 原文地址:https://www.cnblogs.com/kelly1314/p/11351373.html
Copyright © 2020-2023  润新知