Share via


CONSTRAINT_TABLE_USAGE(Transact-SQL)

현재 데이터베이스에서 제약 조건이 정의되어 있는 각 테이블당 하나의 행을 반환합니다. 이 정보 스키마 뷰는 현재 사용자가 사용 권한을 갖고 있는 개체에 대한 정보를 반환합니다.

이러한 뷰에서 정보를 검색하려면 INFORMATION_SCHEMA.view_name 형식으로 정규화된 이름을 지정합니다.

열 이름

데이터 형식

설명

TABLE_CATALOG

nvarchar(128)

테이블 한정자입니다.

TABLE_SCHEMA

nvarchar(128)

테이블이 포함된 스키마의 이름입니다.

중요 정보중요
개체의 스키마를 확인하기 위해 INFORMATION_SCHEMA 뷰를 사용하지 마십시오. 개체의 스키마를 확인하는 신뢰할 수 있는 유일한 방법은 sys.objects 카탈로그 뷰를 쿼리하거나 OBJECT_SCHEMA_NAME 함수를 사용하는 것입니다.

TABLE_NAME

sysname

테이블의 이름입니다.

CONSTRAINT_CATALOG

nvarchar(128)

제약 조건 한정자입니다.

CONSTRAINT_SCHEMA

nvarchar(128)

제약 조건이 포함된 스키마의 이름입니다.

중요 정보중요
개체의 스키마를 확인하기 위해 INFORMATION_SCHEMA 뷰를 사용하지 마십시오. 개체의 스키마를 확인하는 신뢰할 수 있는 유일한 방법은 sys.objects 카탈로그 뷰를 쿼리하거나 OBJECT_SCHEMA_NAME 함수를 사용하는 것입니다.

CONSTRAINT_NAME

sysname

제약 조건 이름입니다.

다음 예에서는 Production 스키마의 각 테이블 또는 뷰에 대한 제약 조건 정보를 반환합니다.

USE AdventureWorks;
GO

SELECT *
FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE AS ctu
INNER JOIN sys.objects AS o ON ctu.TABLE_NAME = o.name 
    AND OBJECT_SCHEMA_NAME(o.object_id) = N'Production';

다음 예에서는 CHECK 제약 조건이 정의된 데이터베이스의 각 테이블 또는 뷰를 반환합니다. 쿼리에는 CHECK 제약 조건의 정의를 반환하기 위해 CHECK_CONSTRAINT 뷰에 대한 조인이 포함됩니다.

USE AdventureWorks;
GO

SELECT ctu.TABLE_SCHEMA, ctu.TABLE_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE AS ctu
    ON cc.CONSTRAINT_NAME = ctu.CONSTRAINT_NAME;