
CHECK
CHECK 제약 조건은 열에 배치할 수 있는 값을 제한한다.
예시
CREATE TABLE에 대한 CHECK
“Person” 테이블이 생성될 때 “Age” 열에 대한 CHECK 제약 조건을 생성한다. CHECK 제약 조건은 18세 미만의 사람을 가질 수 없도록 한다.
MySQL
CREATE TABLE Persons ( Age int, CHECK (Age>=18) );
SQL SERVER / ORACLE / MS ACCESS
CREATE TABLE Persons ( Age int CHECK (Age>=18) );
CHECK 제약 조건의 이름을 지정하고 여러 열에 대한 CHECK 제약 조건을 정의한다.
MySQL / SQL SERVER / ORACLE / MS ACCESS
CREATE TABLE Persons ( Age int, City varchar(255), CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes') );
ALTER TABLE에 대한 CHECK
테이블이 이미 생성된 경우 “Age” 열에 대한 CHECK 제약 조건을 생성한다.
MySQL / SQL SERVER / ORACLE / MS ACCESS
ALTER TABLE Persons ADD CHECK (Age>=18);
CHECK 제약 조건의 이름을 지정하고 여러 열에 대한 CHECK 제약 조건을 정의한다.
MySQL / SQL SERVER / ORACLE / MS ACCESS
ALTER TABLE Persons ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
CHECK 제약 조건 삭제
MySQL
ALTER TABLE Persons DROP CHECK CHK_PersonAge;
SQL SERVER / ORACLE / MS ACCESS
ALTER TABLE Persons DROP CONSTRAINT CHK_PersonAge;
참고
W3C School - SQL CHECK Keywords
W3C School - SQL Tutorial