REFERENTIAL_CONSTRAINTS (Transact-SQL)

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

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

Spaltenname

Datentyp

Beschreibung

CONSTRAINT_CATALOG

nvarchar(128)

Einschränkungsqualifizierer

CONSTRAINT_SCHEMA

nvarchar(128)

Der Name des Schemas, das die Einschränkung enthält.

Wichtiger HinweisWichtig
Verwenden Sie keine INFORMATION_SCHEMA-Sichten, um das Schema eines Objekts zu bestimmen. Die einzig zuverlässige Möglichkeit zum Finden des Schemas eines Objekts besteht darin, die sys.objects-Katalogsicht abzufragen.

CONSTRAINT_NAME

sysname

Einschränkungsname

UNIQUE_CONSTRAINT_CATALOG

nvarchar(128)

Der UNIQUE-Einschränkungsqualifizierer.

UNIQUE_CONSTRAINT_SCHEMA

nvarchar(128)

Der Name des Schemas, das die UNIQUE-Einschränkung enthält.

Wichtiger HinweisWichtig
Verwenden Sie keine INFORMATION_SCHEMA-Sichten, um das Schema eines Objekts zu bestimmen. Die einzig zuverlässige Möglichkeit zum Finden des Schemas eines Objekts besteht darin, die sys.objects-Katalogsicht abzufragen.

UNIQUE_CONSTRAINT_NAME

sysname

UNIQUE-Einschränkung.

MATCH_OPTION

varchar(7)

Referenzielle Bedingungen für die Übereinstimmung von Einschränkungen. Es wird immer SIMPLE zurückgegeben. Dies bedeutet, dass keine Übereinstimmung definiert ist. Die Bedingung wird als Übereinstimmung betrachtet, wenn eine der folgenden Bedingungen zutrifft:

  • Mindestens ein Wert in der Fremdschlüsselspalte ist NULL.

  • Keiner der Werte in der Fremdschlüsselspalte ist NULL, und in der Primärschlüsseltabelle ist eine Zeile mit demselben Schlüssel vorhanden.

UPDATE_RULE

varchar(11)

Die Aktion, die ausgeführt wird, wenn eine Transact-SQL-Anweisung die referenzielle Integrität verletzt, die durch diese Einschränkung definiert ist.

Gibt einen der folgenden Werte zurück:

  • NO ACTION

  • CASCADE

  • SET NULL

  • SET DEFAULT

Wenn für diese Einschränkung NO ACTION für ON UPDATE angegeben ist, wird die Aktualisierung des Primärschlüssels, auf den in der Einschränkung verwiesen wird, nicht an den Fremdschlüssel weitergegeben. Wenn diese Aktualisierung des Primärschlüssels zu einer Verletzung der referenziellen Integrität führt, weil mindestens ein Fremdschlüssel denselben Wert aufweist, nimmt SQL Server keine Änderung an der übergeordneten Tabelle und den verweisenden Tabellen vor. Außerdem löst SQL Server einen Fehler aus.

Wenn für diese Einschränkung CASCADE für ON UPDATE angegeben ist, werden alle Änderungen des Primärschlüsselwerts automatisch an den Fremdschlüsselwert weitergegeben.

DELETE_RULE

varchar(11)

Die Aktion, die ausgeführt wird, wenn eine Transact-SQL-Anweisung die referenzielle Integrität verletzt, die durch diese Einschränkung definiert ist.

Gibt einen der folgenden Werte zurück:

  • NO ACTION

  • CASCADE

  • SET NULL

  • SET DEFAULT

Wenn für diese Einschränkung NO ACTION für ON DELETE angegeben ist, wird das Löschen des Primärschlüssels, auf den in der Einschränkung verwiesen wird, nicht an den Fremdschlüssel weitergegeben. Wenn das Löschen des Primärschlüssels zu einer Verletzung der referenziellen Integrität führt, weil mindestens ein Fremdschlüssel denselben Wert aufweist, nimmt SQL Server keine Änderung an der übergeordneten Tabelle und den verweisenden Tabellen vor. Außerdem löst SQL Server einen Fehler aus.

Wenn für diese Einschränkung CASCADE für ON DELETE angegeben ist, werden alle Änderungen des Primärschlüsselwerts automatisch an den Fremdschlüsselwert weitergegeben.