日期:2014-05-17  浏览次数:20849 次

更新多张表的相同字段
有A,B,C,D,E,F,G多张表,都有相同的一个数据字段X,有没有什么办法同时更新这一字段的值?
------解决方案--------------------
单纯的UPDATE只能影响一个表,所以你需要多次update
------解决方案--------------------
你可以试着把表名作为变量,写个循环
------解决方案--------------------
单单针对你的这个表可以这样写,但是这样我感觉对你也没有任何意义,实际情况还是版主说的:只能多次update 。实际我给你的方法也就是多次update,或许你可以根据你实际的表结构,修改这个循环中的一些地方,或许可以得到你的结果:

declare @m varchar(100),@i int,@n varchar(100)
declare @sql varchar(1000)
set @i=1
set @m='ABCDEF'

while @i<=6
begin
select @n=SUBSTRING(@m,1,1);
set @sql ='update  '+@n+' set X=''BB'' from '+@n;
exec(@sql);
select @i=@i+1;
select @m=SUBSTRING(@m,2,LEN(@m));
end

------解决方案--------------------
那就写7个update语句就可以了。