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
반응형
그리드형
'IT > MSSQL' 카테고리의 다른 글
[MSSQL] cascade 옵션(외래키 설정시 자동삭제 및 업데이트) (0) | 2023.03.08 |
---|---|
[MSSQL] 외래키(FOREIGN KEY) 제약조건 - 생성(추가), 삭제 (0) | 2023.03.08 |
[MSSQL] 디폴트(DEFAULT) 제약조건 - 생성(추가), 삭제 (0) | 2023.03.08 |
[MSSQL] 유니크(UNIQUE) 제약조건 - 생성(추가), 삭제 (0) | 2023.03.08 |
[MSSQL] 기본키(Primary Key) 제약조건 - 생성 추가, 삭제(3가지 방법) (0) | 2023.03.08 |
댓글