Ich frage mich, was wäre der richtige Weg, eine eindeutige bedingte Einschränkung sein? Wenn also ein Benutzer nichts in das AccountIdentifier-Feld eingibt und absendet, wird es als Null in der Datenbank angezeigt. Aufgrund der eindeutigen Einschränkung kann es jedoch nicht mehrere Nullwerte haben. Gibt es eine Möglichkeit, dies zu tun?eindeutige Einschränkung mit einer Bedingung zu akzeptieren, mehrere Nullen auf einer einzigen Spalte
CREATE TABLE [dbo].[AccountTemplate]
(
[AccountID] INT NOT NULL,
[AccountIdentifier] NCHAR(50) NULL,
CONSTRAINT [FK_AccountTemplate_Identifier] UNIQUE NONCLUSTERED ([AccountIdentifier] ASC, [AccountID] ASC)
)
Bitte verwenden Sie keine Tags, die nicht auf Ihre Frage zutreffen –
JamesZ Antwort ist richtig, nur Vorsicht, obwohl es ein paar Fänge gibt. Der folgende sqlmag-Artikel beschreibt diesen Ansatz gut: http://sqlmag.com/blog/whats-good-use-unique-filtered-index –