Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2008 – Abrufen von Tabelleneinschränkungen

Sie sollten das aktuelle sys verwenden Katalogansichten (wenn Sie SQL Server 2005 verwenden oder neuer - die sysobjects Ansichten sind veraltet und sollte vermieden werden) - sehen Sie sich hier die umfangreiche MSDN SQL Server Books Online-Dokumentation zu Katalogansichten an.

Es gibt einige Ansichten, die Sie interessieren könnten:

  • sys.default_constraints für Standardbeschränkungen für Spalten
  • sys.check_constraints für Check Constraints für Spalten
  • sys.key_constraints für Schlüsseleinschränkungen (z. B. Primärschlüssel)
  • sys.foreign_keys für Fremdschlüsselbeziehungen

und viel mehr - Probieren Sie es aus!

Sie können diese Ansichten abfragen und ihnen beitreten, um die benötigten Informationen zu erhalten – z. Dadurch werden die Tabellen, Spalten und alle darauf definierten Standardeinschränkungen aufgelistet:

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