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:

Ansicht TABLE_CONSTRAINTS

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;
Copy
+--------------------+-------------------+-----------------------------------------------------+---------------------------+--------------------------+-----------------------------------------------------+--------------+-------------+-------------+---------+-------------------------------+-------------------------------+
| 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;
Copy
+--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------+
| 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      |
+--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------+