외래키가 지정된 상태 또는 다른 제약 조건등으로 인하여 벌크데이터 또는 기존에 입력했던 데이터의 무결성으로 인하여 삽입되지 않을 경우에는 잠시 제약 조건을 비활성 시킬 수 있다.
또는 제약조건을 걸려고 하다보니 기존에 입력되었던 방대한 데이터가 문제가 될 경우에는 제약조건을 걸 수 없는데 이때도 기존 데이타에는 제약을 걸지 않도록 할 수 있다.
예문1) 기존 데이터가 입력된 테이블에 제약조건을 걸어보자
ALTER TABLE buyTbl WITH NOCHECK
ADD CONSTRAINT FK_userTbl_buyTbl
FOREIGN KEY (UserId)
REFERENCES userTbl(UserId)
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
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
'SQL' 카테고리의 다른 글
[MSSQL]쿼리를 이용하여 엑셀(EXCEL) 파일로 바로 저장하기 (0) | 2013.01.30 |
---|---|
[MSSQL] 번호자릿수 고정하여 Insert 하기 (0) | 2013.01.30 |
[MSSQL]Mssql null 값 대체 (0) | 2013.01.05 |
[MSSQL]SQL?? 씨퀄!? 시퀄!? (0) | 2012.12.18 |
[MSSQL] 계정 생성 관리 (0) | 2012.12.18 |