Dans ce projet sur lequel je travaille, je dois définir un champ particulier pour qu'il soit unique (pas un problème!) Mais si le champ est nul, je veux que la contrainte soit ignorée. Dans Sql Server 2008, j'utilise un index filtré comme indiqué ci-dessous, mais ce n'est pas disponible dans les versions antérieures de SQL!
CREATE UNIQUE NONCLUSTERED INDEX User_UserName_IUC
ON [User] (pinNr)
WHERE UserName IS NOT NULL
Mais je ne pense pas que cela soit disponible dans SQL Server 2005. En fait, ce billet de blog indique qu'il existe une solution de contournement utilisant un déclencheur pour vérifier l'unicité. Quelqu'un en a-t-il un exemple? ou peut-être une alternative?
Malheureusement, la mise à niveau vers SQl Server 2008 n'est pas une option pour ce client particulier !!
la source