首先查出字段的默認值約束名稱,然后根據默認值約束名稱刪除默認值約束
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值