首先查出字段的默认值约束名称,然后根据默认值约束名称删除默认值约束
declare @constraintName varchar(200)
select @constraintName = b.name from syscolumns a,sysobjects b where a.id=object_id('TB_KYSubProject') and b.id=a.cdefault and a.name='Final_Belong_Programme' and b.name like 'DF%'
SELECT @constraintName
exec('alter table TB_KYSubProject drop constraint '+@constraintName)
注意:
1.sql中constraint 前缀PK、UK、DF、CK、FK:
PK是primary key缩写,主键约束
UK是unique key缩写,唯一约束
CK是check缩写,检查约束
FK是foreign缩写,主外键关系
DF是default缩写,默认值约束
2.syscolumns
cdefault :int 该列的默认值 ID。
id:int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。
name:sysname 列名或过程参数的名称。
3.object_id函数
该函数会返回指定对象的ID值