CHECK 제약 조건
CHECK 제약 조건은 열에 배치할 수 있는 값 범위를 제한하는데 사용된다.
열에 CHECK 제약 조건을 정의하면 열에 대해 특정 값만 허용된다.
테이블에 CHECK 제약 조건을 정의하면 행의 다른 열 값을 기반으로 특정 열의 값을 제한할 수 있다.
CREATE TABLE에 대한 CHECK
“Persons” 테이블이 생성될 때 “Age” 열에 대한 CHECK 제약 조건을 생성한다.
CHECK 제약 조건은 개인의 연령 이 18세 이상이어야 한다는 것을 보장한다.
MySQL
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CHECK (Age>=18) );
SQL SERVER/Oracle/MS Access
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int CHECK (Age>=18) );
CHECK 제약 조건의 이름을 지정하고 여러 열에 CHECK 제약 조건을 정의
MySQL/SQL 서버/오라클/MS 액세스
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, City varchar(255), CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes') );
ALTER TABLE에 대한 CHECK
테이블이 이미 생성된 경우 “Age” 열에 대한 CHECK 제약 조건을 생성
MySQL/SQL 서버/오라클/MS 액세스
ALTER TABLE Persons ADD CHECK (Age>=18);
제약 조건 의 이름을 지정 하고 여러 열에 제약 조건 CHECK을 정의 CHECK하려면 다음 SQL 구문을 사용
MySQL/SQL 서버/오라클/MS 액세스
ALTER TABLE Persons ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
CHECK 제약 조건 삭제
SQL 서버/오라클/MS 액세스
ALTER TABLE Persons DROP CONSTRAINT CHK_PersonAge;
MySQL
ALTER TABLE Persons DROP CHECK CHK_PersonAge;
참고
W3C School - SQL CHECK Constraint
W3C School - SQL Tutorial