Ansicht REFERENTIAL_CONSTRAINTS¶
Diese Ansicht Information Schema zeigt eine Zeile für jede FOREIGN KEY-Einschränkung an, die für Tabellen in der angegebenen (oder aktuellen) Datenbank definiert ist.
FOREIGN KEY-Einschränkungen werden verwendet, um die referenzielle Integrität zu erzwingen. Weitere Informationen dazu finden Sie unter Einschränkungen und Einschränkungen für die referenzielle Integrität.
Um Informationen über andere Einschränkungsarten (sowie FOREIGN KEY-Einschränkungen) zu erhalten, fragen Sie die Ansicht TABLE_CONSTRAINTS ab.
- Siehe auch:
Spalten¶
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
CONSTRAINT_CATALOG |
TEXT |
Datenbank, zu der die Einschränkung gehört |
CONSTRAINT_SCHEMA |
TEXT |
Schema, zu dem die Einschränkung gehört |
CONSTRAINT_NAME |
TEXT |
Name der Einschränkung |
UNIQUE_CONSTRAINT_CATALOG |
TEXT |
Datenbank der eindeutigen Einschränkung, auf die die aktuelle Einschränkung verweist |
UNIQUE_CONSTRAINT_SCHEMA |
TEXT |
Schema der eindeutigen Einschränkung, auf die die aktuelle Einschränkung verweist |
UNIQUE_CONSTRAINT_NAME |
TEXT |
Name der eindeutigen Einschränkung, auf die die aktuelle Einschränkung verweist |
MATCH_OPTION |
TEXT |
Übereinstimmungsoption für die Einschränkung |
UPDATE_RULE |
TEXT |
Aktualisierungsregel für die aktuelle Einschränkung |
DELETE_RULE |
TEXT |
Regel für die aktuelle Einschränkung löschen |
COMMENT |
TEXT |
Kommentar zu dieser Einschränkung |
CREATED |
TIMESTAMP_LTZ |
Erstellungszeit der Einschränkung |
LAST_ALTERED |
TIMESTAMP_LTZ |
Datum und Uhrzeit der letzten Änderung des Objekts durch eine DML, DDL oder eine Operation mit Metadaten im Hintergrund. Siehe Nutzungshinweise. |
Nutzungshinweise¶
Die Ansicht zeigt nur Objekte an, für die der aktuellen Rolle für die Sitzung Zugriffsrechte gewährt wurden.
Die Spalte LAST_ALTERED wird aktualisiert, wenn die folgenden Operationen auf einem Objekt ausgeführt werden:
DDL-Operationen
DML-Operationen (nur für Tabellen) Diese Spalte wird auch dann aktualisiert, wenn keine Zeilen von der DML-Anweisung betroffen sind.
Von Snowflake ausgeführte Wartungsoperationen auf Metadaten im Hintergrund.
Beispiele¶
Gibt Informationen über alle FOREIGN KEY-Einschränkungen in der aktuellen Datenbank zurück.
SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+--------------------+-------------------+-----------------------------------------------------+---------------------------+--------------------------+-----------------------------------------------------+--------------+-------------+-------------+---------+-------------------------------+-------------------------------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME | UNIQUE_CONSTRAINT_CATALOG | UNIQUE_CONSTRAINT_SCHEMA | UNIQUE_CONSTRAINT_NAME | MATCH_OPTION | UPDATE_RULE | DELETE_RULE | COMMENT | CREATED | LAST_ALTERED |
|--------------------+-------------------+-----------------------------------------------------+---------------------------+--------------------------+-----------------------------------------------------+--------------+-------------+-------------+---------+-------------------------------+-------------------------------|
| HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_51118aaf-1ee6-4548-bc9a-f87e65d92528 | HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_aad16788-491a-4e68-b0e3-30d48a33a1c1 | FULL | NO ACTION | NO ACTION | NULL | 2024-09-19 13:51:37.355 -0700 | 2024-09-19 13:51:37.608 -0700 |
| HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_c97bfe9b-6098-4b8a-b796-e341071db72a | HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_0bd41d0f-11f7-4366-82a3-f03f31fcce7e | FULL | NO ACTION | NO ACTION | NULL | 2024-05-28 18:21:43.899 -0700 | 2024-05-28 18:21:44.268 -0700 |
+--------------------+-------------------+-----------------------------------------------------+---------------------------+--------------------------+-----------------------------------------------------+--------------+-------------+-------------+---------+-------------------------------+-------------------------------+
Verbinden Sie diese Ansicht mit der Ansicht TABLE_CONSTRAINTS, um die Namen der referenzierenden Tabellen zu erhalten, die FOREIGN KEY-Einschränkungen haben:
SELECT tc.constraint_catalog, tc.constraint_schema, tc.constraint_name, tc.table_name, tc.constraint_type, tc.enforced
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc ON tc.constraint_name=rc.constraint_name;
+--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME | TABLE_NAME | CONSTRAINT_TYPE | ENFORCED |
|--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------|
| HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_51118aaf-1ee6-4548-bc9a-f87e65d92528 | HTFK | FOREIGN KEY | YES |
| HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_c97bfe9b-6098-4b8a-b796-e341071db72a | HT619 | FOREIGN KEY | YES |
+--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------+