적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric의 SQL 데이터베이스
테이블에 CHECK 제약 조건을 만들어 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server의 하나 이상의 열에서 허용되는 데이터 값을 지정할 수 있습니다. 열 제약 조건을 추가하는 방법에 대한 자세한 내용은 ALTER TABLE column_constraint를 참조하세요.
자세한 내용은 고유성 제약 조건 및 CHECK 제약 조건을 참조하세요.
Remarks
기존 검사 제약 조건을 쿼리하려면 sys.check_constraints 시스템 카탈로그 뷰를 사용합니다.
Permissions
테이블에 대한 ALTER 권한이 필요합니다.
SQL Server Management Studio 사용
개체 탐색기에서 CHECK 제약 조건을 추가하려는 테이블을 확장하고, 제약 조건을 마우스 오른쪽 단추로 클릭한 후 새 제약 조건을 선택합니다.
CHECK 제약 조건 대화 상자에서 식 필드를 선택한 후 줄임표(...)를 선택합니다.
CHECK 제약 조건 식 대화 상자에서 CHECK 제약 조건에 대한 SQL 식을 입력합니다. 예를 들어
SellEndDate테이블Product열의 항목을SellStartDate열의 날짜보다 크거나 같은 값으로 또는NULL값으로 제한하려면 다음을 입력합니다.SellEndDate >= SellStartDate또는
zip열의 항목이 다섯 자리 숫자가 되도록 하려면 다음을 입력합니다.zip LIKE '[0-9][0-9][0-9][0-9][0-9]'Note
숫자가 아닌 제약 조건 값을 작은따옴표(
')로 묶어야 합니다.확인을 선택합니다.
ID 범주에서 CHECK 제약 조건 이름을 변경하고 제약 조건에 대한 설명(확장 속성)을 추가할 수 있습니다.
테이블 디자이너 범주에서 제약 조건이 적용되는 시기를 설정할 수 있습니다.
Action 다음 옵션 중에서 Yes을(를) 선택합니다.제약 조건을 만들기 전에 존재했던 데이터에 대한 제약 조건 테스트 만들거나 사용하도록 설정할 때 기존 데이터 검사 이 테이블에서 복제 작업이 수행될 때마다 제약 조건 적용 복제를 위해 강제 적용 이 테이블의 행을 삽입하거나 업데이트할 때마다 제약 조건 적용 INSERT 및 UPDATE에 적용 닫기를 선택합니다.
Transact-SQL 사용
개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.
표준 도구 모음에서 새 쿼리를 선택합니다.
다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.
먼저, 제약 조건을 만듭니다.
ALTER TABLE dbo.DocExc ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK ( ColumnD > 10 AND ColumnD < 50 ); GO제약 조건을 테스트하려면 우선 CHECK 제약 조건을 전달할 값을 추가합니다.
INSERT INTO dbo.DocExc (ColumnD) VALUES (49);다음으로, CHECK 제약 조건에 실패하는 값을 추가해 봅니다.
INSERT INTO dbo.DocExc (ColumnD) VALUES (55);