2012-05-28 3 views
2

저는 도구 비교 도구 vs 2010을 사용하여 데이터베이스를 비교 해왔고 명확하지 않은 몇 가지 항목이 생성되었습니다. 예를 들어 스크립트 마지막 부분에는 다음과 같은 문구가 있습니다.SQL 서버 :이 SQL 문은 무엇을 의미합니까

누구나 설명 할 수 있습니까?

답변

3

기존 데이터를 추가 할 때 제약 조건을 확인해야한다는 의미입니다.

CHECK CHECK이 없으면 제약 조건이 나뭇잎 untrusted이며 쿼리 최적화 프로그램에서 사용할 수 없습니다.

1

SQL Server가 새 행에 대한 제약 조건의 유효성을 검사하도록 지시합니다. 카운터 예는 WITH NOCHECK을 사용하여 새 행의 유효성 검사를 일시적으로 사용하지 않도록 설정하는 것입니다.

ALTER TABLE (Transact-SQL) (WITH CHECK | WITH NOCHECK)

+0

구문은'[WITH {CHECK | NOCHECK}] {CHECK | NOCHECK} 제약 조건. 귀하의 대답은 절반을 설명합니다. 내 것이 다른 것! –

+0

@ MartinsMith - BOL이 제외하는 것은 제약 조건이 신뢰할 수 없다는 것을 명시 적으로 언급하고 있다고 가정합니다. 제약 조건이 추가 될 때 WITH NOCHECK에 의해 억압 된 모든 제약 조건 위반은 제약 조건을 준수하지 않는 데이터로 행을 업데이트하면 향후 업데이트가 실패 할 수 있습니다. * 즉, 신뢰할 수 없습니다. . – Thomas

관련 문제