alter table tablename drop constraint DF__ZB_ZZB__Jflxdm__740841F9alter table zb_zzb alter column jflxdm varchar(40)

解决方案 »

  1.   

    1:alter table tableName drop DF_ZB_ZZB_JFLXDM_740841F9  --删除默认值2:alter table zb_zzb alter column jflxdm varchar(40) 
      

  2.   

    动态:declare @name varchar(20)select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('tablename') and b.id=a.cdefault and a.name='field1' and b.name like 'DF%'exec('alter table tablename drop constraint '+@name) alter table tablename drop column field1
      

  3.   

    我的脚本要给我们的代理用
    他在他那里安装的数据库中,也是同样的名称DF_ZB_ZZB_JFLXDM_740841F9  吗?
      

  4.   

    事情紧急啊
    前面所讲我已经尝试过了
    现在的问题是,
    我的脚本要给我们的代理用
    他在他那里安装的数据库中,也是同样的名称DF_ZB_ZZB_JFLXDM_740841F9  吗?
    请帮忙回答一下
      

  5.   

    不是,我不是写了个动态删除的吗?declare @name varchar(20)select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('tablename') and b.id=a.cdefault and a.name='field1' and b.name like 'DF%'exec('alter table tablename drop constraint '+@name) alter table tablename drop column field1
    你把表名列名改改就行了。
      

  6.   

    我的脚本要给我们的代理用
    他在他那里安装的数据库中,也是同样的名称DF_ZB_ZZB_JFLXDM_740841F9  吗?
    你代理那得数据库就不一定是DF_ZB_ZZB_JFLXDM_740841F9  
    你可以在创建表时候加上约束名,你代理电脑得约束名就和你得一样啦,约束名就固定下来啦
    例如
    create table aaaa(i int,ii varchar(100) constraint df_aaaa default('1'))
    2台电脑得约束名都为df_aaaa啦
    你要是不加约束名系统会自动加约束名,随机加入的
      

  7.   

    declare @约束名 varchar(100)
    select @约束名=name from sysobjects 
    where xtype='d' 
    and id = (select cdefault from syscolumns where id=object_id('tablename') and name='jflxdm')
    select @约束名
    利用此方法找出约束名,来修改