1. 程式人生 > >在SQL Server中批量修改有規律列的定義

在SQL Server中批量修改有規律列的定義

declare @tname nvarchar(255)=N'要修改的表名';

--修改所有以sl結尾的列名的小數位數為4位
select syscolumns.name into #t1
from syscolumns,systypes 
where syscolumns.xusertype = systypes.xusertype 
and syscolumns.id = object_id(@tname)
and syscolumns.name like '%sl' and systypes.name='numeric';

while exists(select top
1 name from #t1) begin declare @cname varchar(255); select top 1 @cname=name from #t1 delete #t1 where name=@cname; declare @sql nvarchar(1000); set @sql=N'alter table '+@tname+' alter column '+@cname+' numeric(19,4)'; exec sp_executesql @sql; end drop table #t1;