Exibição REFERENTIAL_CONSTRAINTS

Esta exibição Information Schema mostra uma linha para cada restrição FOREIGN KEY definida para tabelas no banco de dados especificado (ou atual).

Restrições FOREIGN KEY são usadas para impor integridade referencial. Para obter mais informações, consulte Restrições e Restrições de integridade referencial.

Para retornar informações sobre outros tipos de restrição (bem como as restrições FOREIGN KEY), consulte o Exibição TABLE_CONSTRAINTS.

Consulte também:

Exibição TABLE_CONSTRAINTS

Colunas

Nome da coluna

Tipo de dados

Descrição

CONSTRAINT_CATALOG

TEXT

Banco de dados ao qual pertence a restrição

CONSTRAINT_SCHEMA

TEXT

Esquema ao qual pertence a restrição

CONSTRAINT_NAME

TEXT

Nome da restrição

UNIQUE_CONSTRAINT_CATALOG

TEXT

Banco de dados da restrição única referenciada pela restrição atual

UNIQUE_CONSTRAINT_SCHEMA

TEXT

Esquema da restrição única referenciada pela restrição atual

UNIQUE_CONSTRAINT_NAME

TEXT

Nome da restrição única referenciada pela restrição atual

MATCH_OPTION

TEXT

Opção de correspondência para a restrição

UPDATE_RULE

TEXT

Atualizar regra para a restrição atual

DELETE_RULE

TEXT

Regra de exclusão para a restrição atual

COMMENT

TEXT

Comentário para esta restrição

CREATED

TIMESTAMP_LTZ

Hora de criação da restrição

LAST_ALTERED

TIMESTAMP_LTZ

Data e hora em que o objeto foi alterado pela última vez por uma operação de metadados de DML, DDL ou em segundo plano. Consulte as Notas de uso.

Notas de uso

  • A visualização exibe apenas objetos para os quais a função atual da sessão tem privilégios de acesso.

  • A coluna LAST_ALTERED é atualizada quando as seguintes operações são executadas em um objeto:

    • operações DDL.

    • operações DML (somente para tabelas). Esta coluna é atualizada mesmo quando nenhuma linha é afetada pela instrução DML.

    • Operações de manutenção em segundo plano em metadados realizadas pelo Snowflake.

Exemplos

Retorna informações sobre todas as restrições FOREIGN KEY no banco de dados atual.

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

Junte esta exibição a Exibição TABLE_CONSTRAINTS para obter os nomes das tabelas de referência que têm restrições FOREIGN KEY:

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