需要从 sysobjects 表中获取这个constraint 的名称,然后再 drop 掉。方法比较复杂,以前写过,现在不记得了。
select so.name from sysobjects so join (select id from sysobjects where name='<表名称>') t on t.id = so.parent_obj join (select cdefault from syscolumns where name='<默认值列的名称>') sc on sc.cdefault = so.id
drop constraint 约束名
一般默认约束名为DF+表名+列名
alter table t
drop constraint DF_t_FieldName
用adoquery的sql语句完成。
create table ttt
(aaa nvarchar(100) NULL default 0)
创建的默认约束不是DF+表名+列名。
我如何可以删除aaa列的所有约束?
说具体点好。
join (select id from sysobjects where name='<表名称>') t on t.id = so.parent_obj
join (select cdefault from syscolumns where name='<默认值列的名称>') sc on sc.cdefault = so.id