CHECK 제약 조건 만들기

적용 대상:SQL ServerAzure SQL 데이터베이스Azure SQL Managed Instance

테이블에 CHECK 제약 조건을 만들어 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server의 하나 이상의 열에서 허용되는 데이터 값을 지정할 수 있습니다. 열 제약 조건을 추가하는 방법에 대한 자세한 내용은 ALTER TABLE column_constraint를 참조하세요.

자세한 내용은 Unique Constraints and Check Constraints을 참조하세요.

설명

기존 검사 제약 조건을 쿼리하려면 sys.check_constraints 시스템 카탈로그 뷰를 사용합니다.

권한

테이블에 대한 ALTER 권한이 필요합니다.

SQL Server Management Studio 사용

새 CHECK 제약 조건을 만들기

  1. 개체 탐색기에서 CHECK 제약 조건을 추가하려는 테이블을 확장하고, 제약 조건을 마우스 오른쪽 단추로 클릭한 후 새 제약 조건을 선택합니다.

  2. CHECK 제약 조건 대화 상자에서 필드를 선택한 후 줄임표(...)를 선택합니다.

  3. CHECK 제약 조건 식 대화 상자에서 CHECK 제약 조건에 대한 SQL 식을 입력합니다. 예를 들어 Product 테이블 SellEndDate 열의 항목을 SellStartDate 열의 날짜보다 크거나 같은 값으로 또는 NULL 값으로 제한하려면 다음을 입력합니다.

    SellEndDate >= SellStartDate OR SellEndDate IS NULL  
    

    또는 zip 열의 항목이 다섯 자리 숫자가 되도록 하려면 다음을 입력합니다.

    zip LIKE '[0-9][0-9][0-9][0-9][0-9]'  
    

    참고 항목

    숫자가 아닌 제약 조건 값을 작은따옴표(')로 묶어야 합니다.

  4. 확인을 선택합니다.

  5. ID 범주에서 CHECK 제약 조건 이름을 변경하고 제약 조건에 대한 설명(확장 속성)을 추가할 수 있습니다.

  6. 테이블 디자이너 범주에서 제약 조건이 적용되는 시기를 설정할 수 있습니다.

    다음으로 변경: 다음 필드에서 예 선택
    제약 조건을 만들기 전에 존재했던 데이터에 대한 제약 조건 테스트 만들거나 사용하도록 설정할 때 기존 데이터 검사
    이 테이블에서 복제 작업이 수행될 때마다 제약 조건 적용 복제에 적용
    이 테이블의 행을 삽입하거나 업데이트할 때마다 제약 조건 적용 INSERT 및 UPDATE에 적용
  7. 닫기를 선택합니다.

Transact-SQL 사용

새 CHECK 제약 조건을 만들기

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.

    먼저, 제약 조건을 만듭니다.

    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);  
    

참고 항목

다음 단계