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