REFERENTIAL_CONSTRAINTS ビュー

このInformation Schemaには、指定された(または現在の)データベースにある各 FOREIGN KEY の行が表示されます。

FOREIGN KEY 制約は参照整合性を強制するために使用されます。詳細については、 制約 および 参照整合性制約 をご参照ください。

(FOREIGN KEY 制約と同様に)他の制約タイプに関する情報を返すには、 TABLE_CONSTRAINTS ビュー をクエリします。

こちらもご参照ください。

TABLE_CONSTRAINTS ビュー

列名

データ型

説明

CONSTRAINT_CATALOG

TEXT

制約が属するデータベース

CONSTRAINT_SCHEMA

TEXT

制約が属するスキーマ

CONSTRAINT_NAME

TEXT

制約の名前

UNIQUE_CONSTRAINT_CATALOG

TEXT

現在の制約によって参照される一意の制約のデータベース

UNIQUE_CONSTRAINT_SCHEMA

TEXT

現在の制約によって参照される一意の制約のスキーマ

UNIQUE_CONSTRAINT_NAME

TEXT

現在の制約によって参照される一意の制約の名前

MATCH_OPTION

TEXT

制約の一致オプション

UPDATE_RULE

TEXT

現在の制約のルールを更新

DELETE_RULE

TEXT

現在の制約のルールを削除

COMMENT

TEXT

この制約に対するコメント

CREATED

TIMESTAMP_LTZ

制約の作成時刻

LAST_ALTERED

TIMESTAMP_LTZ

オブジェクトが DML、 DDL、 またはバックグラウンドでのメタデータ処理によって最後に変更された日時。 使用上の注意 をご参照ください。

使用上の注意

  • ビューには、セッションの現在のロールにアクセス権が付与されているオブジェクトのみが表示されます。

  • LAST_ALTERED 列は、オブジェクトに対して以下の操作を実行したときに更新されます。

    • DDL 操作 。

    • DML 操作(テーブル用のみ)。この列は、 DML ステートメントによって影響を受ける行がない場合でも更新されます。

    • Snowflakeが実行するメタデータのバックグラウンド保守作業。

現在のデータベース内のすべての FOREIGN KEY 制約に関する情報を返します。

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

このビューを TABLE_CONSTRAINTS ビュー に結合して、 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      |
+--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------+