批量删除default约束

批量删除default约束[转载]

有时候需要批量同步数据库的default value 约束(constraint),在SQL2005中,可以通过sys.default_constraints系统视图来获取该数据库的视图或者某个表对应的视图。

该视图默认对应字段

name:约束名
object_id :约束ID
parent_object_id:约束对应的表ID
parent_column_id:约束对应表中的第几列
definition:默认值

如下SQL查询defaulttest数据库中test1表所有的default value constraints 。

SELECT * FROM sys.default_constraints WHERE sys.default_constraints.parent_object_id=OBJECT_ID('test1')

修改带有约束的数据表结构讲了如何删除和添加约束,下面的语句会列出所有的default value constraint。

SELECT
sys.default_constraints.name AS name,
sys.[tables].name AS tablename
FROM sys.default_constraints
LEFT JOIN sys.tables ON
sys.[tables].object_id=sys.[default_constraints].parent_object_id

然后使用游标遍历删除对应表的约束即可

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