如何快速改变列名
在sql里,有100个不同的列名,我想将其都加_fw,怎样能快速实现。 
 用sql语句呢?还是什么方法? 
 如 
 a      b         c         d.... 
 1      1         1         1   
 我想变成   
 a_fw      b_fw         c_fw         d_fw... 
 1                  1                  1                  1
------解决方案--------------------select name+ '_fw ' from syscolumns where id=object_id( '表名 ') 
 order by colid 
------解决方案--------------------update t2 
 set t2.name=t2.name+ '_fw '  
 from sysobjects t1,syscolumns t2  
 where t1.id=t2.id and t1.xtype= 'u ' and t1.name= '你的表名 '
------解决方案--------------------  create table T(a int, b int,  c int, d int) 
 insert T select 1, 1, 1,1   
 declare @sql varchar(8000) 
 set @sql= 'select  ' 
 select @sql=@sql+name+ '_fw= '+name+ ', ' from syscolumns where id=object_id( 'T ') 
 order by colid 
 select @sql=left(@sql, len(@sql)-1), @sql=@sql+ ' from T ' 
 --print @sql 
 exec(@sql)   
 --result 
 a_fw        b_fw        c_fw        d_fw         
 ----------- ----------- ----------- -----------  
 1           1           1           1 
------解决方案-----------------------设置可更新系统表 
 sp_configure  'allow updates ',1 
 GO 
 RECONFIGURE WITH OVERRIDE 
 GO   
 update syscolumns  set name=name+ '_fw ' from where id=object_id( '表名 ')     
 --记住最后一定要设置回来.   
 sp_configure  'allow updates ',0 
 GO 
 RECONFIGURE WITH OVERRIDE 
 GO 
 /* 
 否则你的系统很危险. 
 建议你不要这样做. 
 最好利用存储过程or其他方法来更新. 
 */
------解决方案--------------------楼上正解,UP
------解决方案--------------------再上一楼的~ 
 create table T(a int, b int,  c int, d int) 
 insert T select 1, 1, 1,1   
 declare @sql varchar(8000) 
 set @sql= 'select  ' 
 select @sql=@sql+name+ '_fw= '+name+ ', ' from syscolumns where id=object_id( 'T ') 
 order by colid 
 select @sql=left(@sql, len(@sql)-1), @sql=@sql+ ' from T ' 
 --print @sql 
 exec(@sql)