12. CHECK
1. CHECK
Constraint
CHECK
제약 조건은 열에 배치할 수 있는 값의 범위를 제한하는 데 사용된다.
- 열에
CHECK
제약 조건을 정의하면 이 열에 대해 특정 값만 허용된다.
- 테이블에
CHECK
제약 조건을 정의하면 행의 값을 기반을 둔 다른 특정한 열의 값을 제한할 수 있다.
2. CHECK
on CREATE TABLE
- 다음은
Persons
테이블이 생성될 때 Age
열에 CHECK
제약 조건을 생성한다.
- 이때의
CHECK
제약 조건은 사람의 나이는 18
세 이상이어야 한다는 것이다.
1) MySQL
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age >= 18)
);
2) 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
제약 조건을 정의하려면 다음 SQL 문을 사용한다.
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')
);
3. CHECK
Constraint on ALTER TABLE
Persons
테이블이 이미 생성된 경우 Age
열에 CHECK
제약 조건을 생성하려면 다음 SQL 문을 사용한다.
ALTER TABLE Persons
ADD CHECK (Age >= 18);
CHECK
제약 조건의 이름을 지정하고, 여러 열에 대한 CHECK
제약 조건을 정의하려면 다음 SQL 문을 사용한다.
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonOrder
CHECK (Age >= 18 AND City = 'Sandnes');
4. DROP
a CHECK
Constraint
CHECK
제약 조건을 삭제하려면 다음 SQL 문을 사용한다.
1) MySQL
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;
2) SQL Server / Oracle / MS Access
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
References