2011-08-10 2 views
14

나는 NULL NOT해야 값, FirstIdentifier과 SecondIdentifier 사이의 열 중 하나를 삽입 할 때 지금 두 열 사이의 열 중 하나는 NOT NULL이어야합니다. 어떻게 그것을 스키마에서 시행 할 것인가?

CREATE TABLE MyTable 
( 
    ID    INTEGER DEFAULT(1,1),  
    FirstIdentifier INTEGER NULL,  
    SecondIdentifier INTEGER NULL, 
    --.... some other fields .....  
) 

scehma

을 다음과 같이 테이블이있다. 스키마를 통해 강제 적용 할 수 있습니까?

답변

19

이것은 CHECK constraint을 이용 가능하다 : CHECK 제약 테이블 부분 (? 따라서 "스키마")이다

CHECK (FirstIdentifier IS NOT NULL OR SecondIdentifier IS NOT NULL) 

동안, 원하는 정의에 맞지 않을 수있다. 위의 CHECK는 상호 배타적 인 것이 아니지만 변경할 수 있습니다.

해피 코딩.

+0

병합 복제에서 검사 제약 조건을 복제 할 수 있는지 알고 있습니까? –

+0

@Silverlight Student 슬프게도 나는 복제와 함께 놀지 않았다. (비록 다른 테이블 수준의 스키마처럼 작동하지 않거나 작동하지 않아야한다.) –

+0

걱정하지 마라, 나는 새로운 질문을 올릴 것이다. 도움을 주셔서 감사합니다. –

관련 문제