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