REFERENTIAL_CONSTRAINTS (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

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 Berechtigungen besitzt.

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, das die Einschränkung enthält.

Wichtig: Verwenden Sie keine INFORMATION_SCHEMA-Sichten, um das Schema eines Objekts zu ermitteln. INFORMATION_SCHEMA-Sichten stellen nur eine Teilmenge der Metadaten eines Objekts dar. Die einzige zuverlässige Methode, das Schema eines Objekts zu finden, ist eine Abfrage der Katalogsicht sys.objects.
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.

Wichtig: Verwenden Sie keine INFORMATION_SCHEMA-Sichten, um das Schema eines Objekts zu ermitteln. INFORMATION_SCHEMA-Sichten stellen nur eine Teilmenge der Metadaten eines Objekts dar. Die einzige zuverlässige Methode, das Schema eines Objekts zu finden, ist eine Abfrage der Katalogsicht sys.objects.
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) Aktion, die ausgeführt wird, wenn eine Transact-SQL-Anweisung gegen die referenzielle Integrität verstößt, die durch diese Einschränkung definiert wird. Gibt eine der folgenden Werte zurück:
NO ACTION
CASCADE
SET NULL
SET DEFAULT

Wenn FÜR diese Einschränkung KEINE AKTION angegeben wird, wird die Aktualisierung des Primärschlüssels, auf den in der Einschränkung verwiesen wird, nicht an den Fremdschlüssel weitergegeben. Wenn eine solche Aktualisierung eines Primärschlüssels zu einer Verletzung der referenziellen Integrität führt, da mindestens ein Fremdschlüssel denselben Wert enthält, nimmt SQL Server keine Änderungen an den übergeordneten und verweisenden Tabellen vor. SQL Server löst auch 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) Aktion, die ausgeführt wird, wenn eine Transact-SQL-Anweisung gegen die referenzielle Integrität verstößt, die durch diese Einschränkung definiert wird. Gibt eine der folgenden Werte zurück:
NO ACTION
CASCADE
SET NULL
SET DEFAULT

Wenn für diese Einschränkung KEINE AKTION für ON DELETE angegeben ist, wird der Löschvorgang für den Primärschlüssel, auf den in der Einschränkung verwiesen wird, nicht an den Fremdschlüssel weitergegeben. Wenn ein solcher Löschvorgang eines Primärschlüssels zu einer Verletzung der referenziellen Integrität führt, da mindestens ein Fremdschlüssel denselben Wert enthält, nimmt SQL Server keine Änderungen an den übergeordneten und verweisenden Tabellen vor. SQL Server löst auch 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.

Weitere Informationen

Systemsichten (Transact-SQL)
Informationsschemasichten (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)