create table A
(
  num int default 100
)--删除旧default约束
declare @name varchar(50)
select @name=object_name(constid) from sysconstraints where id=object_id('A')
exec('alter table A drop constraint '+@name)
go--添加新的default约束
alter table A add constraint df_const default 1000 for num
go

解决方案 »

  1.   

    如果有多个default约束:create table A
    (
      num int default 100,
      name varchar(20) default 'your name'
    )--删除旧default约束
    declare @name varchar(50),@sql varchar(8000)
    set @sql=''
    select @sql=@sql+' alter table A drop constraint '+object_name(constid) from sysconstraints where id=object_id('A') and object_name(constid) like 'DF%'
    exec(@sql)
    go--添加新的default约束
    alter table A add constraint df_const_num default 1000 for num
    alter table A add constraint df_const_name default 'new name' for name
    go--删除测试环境
    drop table A
      

  2.   

    你可以先用脚本把这个表的属性全导入来!
    企业管理器--在这个表上面右键--所有任务--生成SQL脚本-选项--表脚本选项最后一个打勾(还有其它的,根据自己的需要)--保存!再看有什么提示
    出错什么对象出错
    就用  alter table 表 drop constraint 对象     来干掉!
      

  3.   

    使用系统存储过程先查询一下:exec sp_heopconstraint table1找到默认约束,
    然后删除它:alter table table1 
    drop constraint constraint_name最后重新设定默认值
    alter table table1
    add default('newvalue') for  table1