다음을 통해 공유


CHECK_CONSTRAINTS(Transact-SQL)

현재 데이터베이스의 각 CHECK 제약 조건에 대해 한 행씩 반환합니다. 이 정보 스키마 뷰는 현재 사용자가 사용 권한을 갖고 있는 개체에 대한 정보를 반환합니다.

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

열 이름

데이터 형식

설명

CONSTRAINT_CATALOG

nvarchar(128)

제약 조건 한정자입니다.

CONSTRAINT_SCHEMA

nvarchar(128)

제약 조건이 속한 스키마의 이름입니다.

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

CONSTRAINT_NAME

sysname

제약 조건 이름입니다.

CHECK_CLAUSE

nvarchar(4000)

Transact-SQL 정의 문의 실제 텍스트입니다.

SQL Server 2008은 카탈로그 메타데이터에 SQL 식을 디코딩하고 저장하는 방식에서 SQL Server 2000과 다릅니다. 디코딩된 식의 의미 체계는 원본 텍스트와 동일하지만 구문은 일치하지 않을 수 있습니다. 예를 들어 공백은 디코딩된 식에서 제거됩니다. 자세한 내용은 SQL Server 2008 데이터베이스 엔진 기능의 동작 변경 내용을 참조하십시오.

다음 예제에서는 데이터베이스에서 제약 조건 정의에 'StartDate'가 포함된 각 CHECK 제약 조건에 대해 CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME 및 CHECK_CLAUSE 열을 반환합니다.

USE AdventureWorks;
GO
SELECT CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CHECK_CLAUSE LIKE N'%StartDate%';

다음 예에서는 CHECK_CONSTRAINTS 및 CONSTRAINT_COLUMN_USAGE 뷰의 열을 반환하여 제약 조건 및 이 제약 조건이 정의된 열에 대한 정보를 표시합니다.

USE AdventureWorks;
GO

SELECT ccu.TABLE_SCHEMA, ccu.TABLE_NAME, ccu.COLUMN_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS ccu
    ON cc.CONSTRAINT_NAME = ccu.CONSTRAINT_NAME;