有時候需要批量同步數據庫的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
然后使用游標遍歷刪除對應表的約束即可