2014-11-27 2 views
0

여러분, 안녕하세요. NULL 값을 무시할 고유 인덱스를 만들려고했습니다. 여기 내가 시도 네 개의 코드입니다 :고유 색인 생성시 오류가 발생했습니다.

CREATE UNIQUE NONCLUSTERED INDEX [BidContractNumber_UNIQUE] ON [biddetails] (BidContractNumber) WHERE [biddetails].[BidContractNumber] IS NOT NULL;

CREATE UNIQUE NONCLUSTERED INDEX [BidContractNumber_UNIQUE] ON [biddetails] (BidContractNumber) WHERE NOT((BidContractNumber) IS NULL);

CREATE UNIQUE INDEX BidContractNumber_UNIQUE ON biddetails (BidContractNumber) WHERE [BidContractNumber] IS NOT NULL;

CREATE UNIQUE INDEX BidContractNumber_UNIQUE ON biddetails (BidContractNumber) WHERE [BidContractNumber] IS NOT NULL;

하지만 난 항상이 메시지를 얻을 :

Msg 156, Level 15, State 1, Line 2 Incorrect syntax near the keyword 'WHERE'.

누군가이 문제를 해결하는 데 도움을 줄 수 있습니까? 고마워 ..

추신.

내가 SQL 서버에 새로 온 사람과 나는 우리의 데이터베이스를 마이그레이션하도록 요청 받았다 ..

+0

필터링 된 인덱스는 SQL Server 2008에 처음 나타납니다. –

+0

... 모든 SQL Server 2005에 대한 해결 방법이 있습니까? :( –

+0

예, 있었지만 마음에 들지 않습니다. 일반적으로 isnull (IndexedCol, KeyCol)과 같은 정의로 계산 된 열을 만든 다음 고유 인덱스를 만듭니다. 캐치와 단점은 여기에 있으므로, 절대적으로 필요한 경우에만이 경로를 따르십시오. –

답변

관련 문제