sql批量修改從某一表中得到的數據

實例:修改table_A中符合條件的數據,數據是從table_C中查出來的。

      常用於 假如A表中數據有C表中數據批量插入得到( insert into A(aa,bb) values select aa,bb from C  ) 而C表又突然需要增加一字段,且數據還是要從A表中得到,這時就可以利用此方法,批量修改C表中的某字段讓其等於A表中查出來的數據。

 (大家還有其他更好的方法也可以拿來分享一下

       (前提要兩個表中的字段結構要相同)

 

select identity(int,1,1) as id, classes,username,fenshu into #tmpTable  from table_C

select * from #tmpTable              --創建的臨時表用來存放要修改的數據

declare @total int, @i int
declare @classes varchar(20),
       @username varchar(12),
       @fenshu  varchar(12)
SELECT @total=count(*) from #tmpTable
set @i=0
while @i<@total
begin
 
 set @i=@i+1
 select @classes=classes,@username= username,@fenshu=fenshu from #tmpTable where id=@i
 update table_A set  fenshu=@fenshu  where   classes=@classes and  username=@username
end

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章