5 Stimmen

Eindeutige Einschränkung nur über NON-NULL-Spalten

Ist es in MS SQL Server 2008 möglich, Folgendes zu definieren UNIQUE CONSTRAINT auf eine Spalte, ABER die WENN und NUR WENN auf NON-NULL-Werte geprüft wird. Das heißt, es wird viele NULL-Werte geben, die ignoriert werden sollten. Für Nicht-NULL-Werte sollte sie jedoch eindeutig sein.

6voto

Akram Shahda Punkte 14305

Sie müssen eine Gefilterter Index :

CREATE UNIQUE NONCLUSTERED INDEX User_PinNr_IUC
ON [User] (pinNr)
WHERE pinNr IS NOT NULL

Bezug nehmend auf CREATE INDEX (Transact-SQL)

WHERE < filter_predicate > :
Erzeugt einen gefilterten Index durch Angabe von welche Zeilen in den Index aufgenommen werden sollen. Der gefilterte Index muss ein nicht-geclusterter Index auf einer Tabelle sein. Erzeugt gefilterte Statistiken für die Datenzeilen im gefilterten Index.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X