DB/MSSQL

무결성 제약조건 CHECK

개발생각11 2020. 7. 12. 00:48
반응형

무결성 제약조건: 데이터 베이스에 저장된 데이터의 정확성 (일관성)

 

[ CHECK ]

형식: constarints 제약명 CHECK(조건)

- check 소괄호 안의 조건에 맞는 데이터만 삽입 가능한 제약조건,

- 조건에는 기본 연산자, 비교 연산자, in, not in 등등을 사용

 

Ex) PRODUCT TABLE 중, 가격이 50보다 큰 price 값만 가능

create table product(
	product_no int not null,
	product_name varchar(10),
	make_day datetime,
	price float,
	product_info varchar(max),
	primary key(product_no),
	constraint chk_price check (price > 50) -- 50보다 큰 price 값만 가능
)

 

해당 테이블에, price 값이 50 이하의 데이터를 INSERT 시 아래와 같은 오류가 발생한다.

Ex) PRODUCT TABLE 중, 가격이 5,6,7,8,9,10 에 속한 price 값만 가능

create table product(
	product_no int not null,
	product_name varchar(10),
	make_day datetime,
	price float,
	product_info varchar(max),
	primary key(product_no),
	constraint chk_price check (price in (5,6,7,8,9,10)) -- price 값이 5,6,7,8,9,10 인 경우에만 가능
)

 

반응형