백엔드/SQL

제약조건의 추가 및 제거(ADD CONSTRAINT, DROP CONSTRAINT)

leehi9817 2021. 12. 8. 21:50

제약조건의 추가

테이블을 생성한 후에 제약조건을 추가하는 코드

※제약조건도 테이블 구조 정보에 속하므로 ALTER TABLE을 이용함

ALTER TABLE 테이블명
ADD [CONSTRAINT 제약조건명] 제약조건(속성명)

 

제약조건의 제거

테이블을 생성한 후에 제약조건을 제거하는 코드

ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명

 

제약조건 변경 예시

CREATE TABLE orders(
 oseq int IDENTITY(1,1),
 quantity varchar(20) NULL,
 indate datetime NULL,
 id varchar(20),
 pcode varchar(20)
 )
 
 #orders 테이블의 oseq 속성에 기본키 제약조건을 추가
 ALTER TABLE orders
 ADD CONSTRAINT PK_oseq PRIMARY KEY(oseq)
 
 #orders 테이블의 id 속성에 customer 테이블의 id를 참조하는 외래키 제약조건을 추가
 ALTER TABLE orders
 ADD CONSTRAINT FK_id
 FOREIGN KEY(id) REFERENCES customer(id)
 
 #orders 테이블의 FK_id 제약조건을 삭제
 ALTER TABLE orders
 DROP CONSTRAINT FK_id