SQL 2005 删除带有默认值约束的列

在sqlserver 2005中要删除某一列:
alter table [表名] drop column [列名]
但是如果该列被创建了默认值约束,我们就只能先删除默认值约束,然后才能删除该列。

第一种方法:
1、删除默认值约束:
DECLARE @name varchar(100)

SELECT @name=b.name FROM syscolumns a,sysobjects b
 

  WHERE a.id=object_id('表名') AND b.id=a.cdefault
      AND a.name='字段名' AND b.name LIKE 'DF%'

EXEC('alter table 表名 drop constraint ' + @name)
2、alter table 表名
     drop column 列名
第二种方法:
1、删除约束或键语句:
alter table 表名
drop constraint 约束或键
例:alter table  User_BZJ1  
     drop constraint  DF__User_BZJ1__new__73BA3083
2、删除指定列
alter table 表名
drop column 列名
例:alter table  User_BZJ1  
     drop column new
约束或键在企业管理器表下面看的到
 
posted @ 2013-05-30 16:55  sonheri  阅读(798)  评论(0编辑  收藏  举报