實例:修改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