외래키가 지정된 상태 또는 다른 제약 조건등으로 인하여 벌크데이터 또는 기존에 입력했던 데이터의 무결성으로 인하여 삽입되지 않을 경우에는 잠시 제약 조건을 비활성 시킬 수 있다.

또는 제약조건을 걸려고 하다보니 기존에 입력되었던 방대한 데이터가 문제가 될 경우에는 제약조건을 걸 수 없는데 이때도 기존 데이타에는 제약을 걸지 않도록 할 수 있다.

예문1) 기존 데이터가 입력된 테이블에 제약조건을 걸어보자

ALTER TABLE buyTbl WITH NOCHECK
ADD CONSTRAINT FK_userTbl_buyTbl
FOREIGN KEY (UserId)
REFERENCES userTbl(UserId)

예문2) - 제약조건을 무시하고 데이터를 삽입해 보자

ALTER TABLE buyTbl
NOCHECK CONSTRAINT FK_userTbl_buyTbl
GO
INSERT INTO buyTbl VALUES (N'CJC', N'메모리', N'전자', 80, 10)
INSERT INTO buyTbl VALUES (N'AJH', N'책', N'서적', 15, 5)
GO
ALTER TABLE buyTbl
CHECK CONSTRAINT FK_userTbl_buyTbl

 

 

출처 :  http://niceit.tistory.com/98

Posted by 요지
,