Share via


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)

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 einzige zuverlässige Methode zum Suchen des Schemas eines Objekts ist eine Abfrage der sys.objects-Katalogsicht.

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 einzige zuverlässige Methode zum Suchen des Schemas eines Objekts ist eine Abfrage der sys.objects-Katalogsicht.

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 das Update des Primärschlüssels, auf den in der Einschränkung verwiesen wird, nicht an den Fremdschlüssel weitergegeben. Wenn das Update eines Primärschlüssels einen Verstoß gegen die referenzielle Integrität verursacht, weil mindestens ein Fremdschlüssel den gleichen Wert enthält, werden von SQL Server keine Änderungen an der übergeordneten Tabelle und der verweisenden Tabelle vorgenommen. 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 eines Primärschlüssels einen Verstoß gegen die referenzielle Integrität verursacht, weil mindestens ein Fremdschlüssel den gleichen Wert enthält, werden von SQL Server keine Änderungen an der übergeordneten Tabelle und der verweisenden Tabelle vorgenommen. 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.

Siehe auch

Verweis

Systemsichten (Transact-SQL)

Informationsschemasichten (Transact-SQL)

sys.indexes (Transact-SQL)

sys.objects (Transact-SQL)

sys.foreign_keys (Transact-SQL)