将sql数据库字段char全部转换成varchar

本文介绍如何将SQL数据库中的Char字段转换为VarChar类型,涉及删除唯一性(UQ)约束的过程。
摘要由CSDN通过智能技术生成

--删除UQ约束

declare @string varchar(8000)
while exists(select name from sysobjects where xtype='UQ')
begin
 select top 1 @string= 'alter table ' +b.name+ ' drop constraint ' +a.name
  from (select parent_obj,name from sysobjects where xtype='UQ' ) a,
        (select id,name from sysobjects where OBJECTPROPERTY(id, N'IsUserTable')  = 1 ) b
    where a.parent_obj=b.id
 exec(@string)
end
go 
--默认值或 default 约束
declare  tb  cursor  for         
select sql = 'ALTER  TABLE ' +  t3.name   + ' DROP  CONSTRAINT ' +t4.name  +';' 
  from   syscolumns   t1,syscomments   t2,sysobjects   t3   ,sysobjects   t4   
    where     t1.cdefault=t2.id   and   t3.xtype='u'   and   t3.id=t1.id   
  and   t4.xtype='d'   and   t4.id=t2.id --and t1.length > 1 and t1.xtype = 175 
 
declare  @sql  varchar(1000)  
open  tb  
fetch  next  from  tb  into  @sql  
while  @@fetch_status  =  0  
begin  
           exec(@sql)  
           fetch  n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值