Vous devez utiliser le sys
actuel vues de catalogue (si vous êtes sur SQL Server 2005 ou plus récent - les sysobjects
les vues sont obsolètes et devrait être évitée) - consultez la documentation en ligne complète de MSDN SQL Server sur les vues de catalogue ici.
Plusieurs vues pourraient vous intéresser :
sys.default_constraints
pour les contraintes par défaut sur les colonnessys.check_constraints
pour vérifier les contraintes sur les colonnessys.key_constraints
pour les contraintes de clé (par exemple, les clés primaires)sys.foreign_keys
pour les relations de clé étrangère
et beaucoup plus - regardez-le !
Vous pouvez interroger et joindre ces vues pour obtenir les informations nécessaires - par ex. cela listera les tables, les colonnes et toutes les contraintes par défaut définies sur celles-ci :
SELECT
TableName = t.Name,
ColumnName = c.Name,
dc.Name,
dc.definition
FROM sys.tables t
INNER JOIN sys.default_constraints dc ON t.object_id = dc.parent_object_id
INNER JOIN sys.columns c ON dc.parent_object_id = c.object_id AND c.column_id = dc.parent_column_id
ORDER BY t.Name