34,588
社区成员
发帖
与我相关
我的任务
分享
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+ case when isnull(d.name,'') = '' then '' else 'alter table ['+a.name+'] DROP CONSTRAINT '+d.name+';
' end +'alter table ['+a.name+'] alter column ['+b.name+'] Nvarchar('+ltrim(b.length/2)+') default '+e.text+';
'
from sysobjects a
left join syscolumns b on a.id=b.id
left join systypes c on b.xtype=c.xtype
left join sysobjects d on d.parent_obj = a.id and d.xtype = 'D'
left join syscomments e on d.id = e.id
where a.xtype='u' and c.name='char'
--设置为不检查约束
ALTER TABLE tb NOCHECK CONSTRAINT ALL
go
--改类型
--重新设置回检查约束
ALTER TABLE tb CHECK CONSTRAINT ALL
GO