CREATE TABLE Table( column_a INT )ALTER TABLE Table ALTER COLUMN column_a DECIMAL (5, 2)
用下面的吧,与类型相关的存储过程,程序等自己要小心,下面能改类型,不是直接修改系统。 declare i cursor for select a.name tab_name,b.name col_name,c.name type_name from sysobjects a,syscolumns b,systypes c where a.id=b.id and b.type=c.type and a.type='u' and c.name='nchar' --and b.length=100*2 open i declare @tab_name varchar(50),@col_name varchar(50),@type_name varchar(50) fetch next from i into @tab_name,@col_name,@type_name exec('alter table '+@tab_name+' alter column ['+@col_name+'] nvarchar(100)') while (@@fetch_status=0) begin fetch next from i into @tab_name,@col_name,@type_name exec('alter table '+@tab_name+' alter column ['+@col_name+'] nvarchar(100)') end close i deallocate i
CREATE TABLE Table( column_a INT )ALTER TABLE Table ALTER COLUMN column_a DECIMAL (5, 2)
declare i cursor for
select a.name tab_name,b.name col_name,c.name type_name from sysobjects a,syscolumns b,systypes c where a.id=b.id and b.type=c.type and a.type='u' and c.name='nchar' --and b.length=100*2
open i
declare @tab_name varchar(50),@col_name varchar(50),@type_name varchar(50)
fetch next from i into @tab_name,@col_name,@type_name
exec('alter table '+@tab_name+' alter column ['+@col_name+'] nvarchar(100)')
while (@@fetch_status=0)
begin
fetch next from i into @tab_name,@col_name,@type_name
exec('alter table '+@tab_name+' alter column ['+@col_name+'] nvarchar(100)')
end
close i
deallocate i