REFERENTIAL_CONSTRAINTS (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzSQL-Datenbank in Microsoft Fabric

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:
KEINE AKTION
CASCADE
SET NULL
SET DEFAULT

Wenn auf ON UPDATE für diese Constraint NO ACTION angegeben ist, wird die Aktualisierung des primären Schlüssels, der in der Constraint referenziert wird, nicht auf den Fremdschlüssel weitergeleitet. 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 CASCADE für diese Einschränkung auf ON UPDATE angegeben ist, wird jede Änderung des Primärschlüsselwerts automatisch auf den Fremdschlüsselwert propagiert.
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:
KEINE AKTION
CASCADE
SET NULL
SET DEFAULT

Wenn NO ACTION auf ON DELETE für diese Constraint angegeben ist, wird das Löschen des primären Schlüssels, der in der Constraint referenziert wird, nicht auf den Fremdschlüssel propagiert. 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 CASCADE auf ON DELETE bei dieser Einschränkung angegeben ist, wird jede Änderung des Primärschlüsselwerts automatisch auf den Fremdschlüsselwert weitergeleitet.

Weitere Informationen

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