다음을 통해 공유


체크 제약 조건 만들기

테이블에 CHECK 제약 조건을 만들어 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server 2014의 하나 이상의 열에서 허용되는 데이터 값을 지정할 수 있습니다.

이 항목에서

시작하기 전에

안전

권한

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

SQL Server Management Studio 사용

새로운 CHECK 제약 조건을 생성하려면

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

  2. [제약 조건 확인] 대화 상자에서 [식] 필드를 클릭한 다음 줄임표(...)를 클릭합니다.

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

    SellEndDate >= SellStartDate OR SellEndDate IS NULL  
    

    또는 열의 zip 항목을 5자리 숫자로 지정하려면 다음을 입력합니다.

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

    비고

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

  4. OK를 클릭합니다.

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

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

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

Transact-SQL 사용

새 검사 제약 조건을 만들려면

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

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

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

    ALTER TABLE dbo.DocExc   
       ADD ColumnD int NULL   
       CONSTRAINT CHK_ColumnD_DocExc   
       CHECK (ColumnD > 10 AND ColumnD < 50);  
    GO  
    -- Adding values that will pass the check constraint  
    INSERT INTO dbo.DocExc (ColumnD) VALUES (49);  
    GO  
    -- Adding values that will fail the check constraint  
    INSERT INTO dbo.DocExc (ColumnD) VALUES (55);  
    GO  
    
    

자세한 내용은 ALTER TABLE(Transact-SQL)을 참조하세요.