db2删除default约束

如果在设置约束时未使用constraint名字,例如ALTER TABLE A ADD BB decimal(18,5) default(0),则在删除该列前需要删除约束,可有两种方法删除约束

1.查询约束名 

查询确切DEFAULT的名称:
 select * from sysobjects O INNER JOIN sysCOLUMNS  C
ON O.ID = C.CDEFAULT AND O.parent_obj = C.ID 
WHERE O.xtype = 'D' and O.parent_obj = object_id('A')--表A
AND C.NAME = 'BB' --字段BB

--按道理DEFAULT的名字是默认这种格式DF_表名_字段名

ALTER TABLE A 
DROP CONSTRAINT DF_A_BB (DF_t1_fb的意思为DF_表名_字段名)
GO
ALTER TABLE A --然后删除
DROP COLUMN BB

2.直接删除列时 会出现错误提示,提示中会显示约束名

ALTER TABLE A 
DROP CONSTRAINT DF_A_BB (DF_t1_fb的意思为DF_表名_字段名)
GO
ALTER TABLE A --然后删除
DROP COLUMN BB

你可能感兴趣的:(db2删除default约束)