본문 바로가기
IT/MSSQL

[MSSQL] 체크(CHECK) 제약조건 - 생성(추가), 삭제

by 베베야 2023. 3. 8.
728x90

MSSQL에서 테이블에 CHECK 제약조건을 추가해야 경우가 있다.

이번 시간에는 CHECK 제약조건 생성(추가), 삭제 방법에 대해서 설명한다.

 

CHECK 제약조건이란?

입력되는 데이터를 점검하는 기능이다.

 

1.CHECK 제약을 갖는 테이블 만들기

-- 테이블이 이미 있으면 삭제

IF OBJECT_ID('dbo.Vacation', 'U') IS NOT NULL

DROP TABLE dbo.Vacation

GO



--  CHECK 제약을 갖는 테이블 만들기

CREATE TABLE dbo.Vacation (

VacationID int IDENTITY PRIMARY KEY,

EmpID char(5) NOT NULL,

BeginDate date NOT NULL,

EndDate date NOT NULL,

Reason nvarchar(50) DEFAULT N'개인사유',

Duration AS (DATEDIFF(day, BeginDate, EndDate) + 1),

CHECK (EndDate >= BeginDate) -- CHECK 제약

)

GO

 

2.CHECK 제약 삭제

-- CHECK 제약 이름 확인

SELECT name

FROM sys.check_constraints

WHERE parent_object_id = OBJECT_ID('dbo.Vacation', 'U') AND type = 'C'

GO

-- 테이블에서 CHECK 제약 삭제

ALTER TABLE dbo.Vacation

DROP CONSTRAINT CK__Vacation__7FEAFD3E

GO

 

3.기존 테이블에 CHECK 제약 추가

-- 테이블에 CHECK 제약 추가

ALTER TABLE dbo.Vacation

ADD CONSTRAINT CK_EndDate_BeginDate CHECK (EndDate >= BeginDate)

GO
반응형
그리드형

댓글