Freigeben über


CHECK_CONSTRAINTS (Transact-SQL)

Gibt eine Zeile für jede CHECK-Einschränkung in der aktuellen Datenbank zurück. Diese Informationsschemasicht gibt Informationen zu den Objekten zurück, für die der aktuelle Benutzer Berechtigungen hat.

Geben Sie zum Abrufen von Informationen aus diesen Sichten den vollqualifizierten Namen (INFORMATION_SCHEMA.view_name) an.

Spaltenname

Datentyp

Beschreibung

CONSTRAINT_CATALOG

nvarchar(128)

Einschränkungsqualifizierer

CONSTRAINT_SCHEMA

nvarchar(128)

Name des Schemas, zu dem die Einschränkung gehört.

Wichtiger HinweisWichtig
Verwenden Sie keine INFORMATION_SCHEMA-Sichten, um das Schema eines Objekts zu bestimmen. Die einzige zuverlässige Art, das Schema eines Objekts zu finden, ist das Abfragen der sys.objects-Katalogsicht oder die Verwendung der OBJECT_SCHEMA_NAME-Funktion.

CONSTRAINT_NAME

sysname

Einschränkungsname

CHECK_CLAUSE

nvarchar(4000)

Tatsächlicher Text der Transact-SQL-Definitionsanweisung.

SQL Server 2008 unterscheidet sich von SQL Server 2000 darin, wie SQL-Ausdrücke in den Katalogmetadaten decodiert und gespeichert werden. Die Semantik des decodierten Ausdrucks entspricht dem ursprünglichen Text. Es gibt jedoch keine syntaktische Garantie. Leerzeichen werden beispielsweise aus dem decodierten Ausdruck entfernt. Weitere Informationen finden Sie unter Verhaltensänderungen von Datenbankmodul-Features in SQL Server 2008.

Beispiele

Das folgende Beispiel gibt die Spalten CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME und CHECK_CLAUSE für jede CHECK-Einschränkung in der Datenbank zurück, bei der 'StartDate' in der Definition der Einschränkung enthalten ist.

USE AdventureWorks;
GO
SELECT CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CHECK_CLAUSE LIKE N'%StartDate%';

Das folgende Beispiel gibt jede Spalte in der CHECK_CONSTRAINTS-Sicht und der CONSTRAINT_COLUMN_USAGE-Sicht zurück, um Informationen über die Einschränkung und die Spalte, für die die Einschränkung definiert wurde, anzuzeigen.

USE AdventureWorks;
GO

SELECT ccu.TABLE_SCHEMA, ccu.TABLE_NAME, ccu.COLUMN_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS ccu
    ON cc.CONSTRAINT_NAME = ccu.CONSTRAINT_NAME;