В этом одном проекте, над которым я работаю, мне нужно установить конкретное поле как уникальное (не проблема!), Но если поле пустое, я хочу, чтобы ограничение игнорировалось. В Sql Server 2008 я использую фильтрованный индекс, как показано ниже, но он недоступен в более ранних версиях SQL!
CREATE UNIQUE NONCLUSTERED INDEX User_UserName_IUC
ON [User] (pinNr)
WHERE UserName IS NOT NULL
Но я не думаю, что это доступно в SQL Server 2005. Фактически, этот пост в блоге указывает, что существует обходной путь, использующий триггер для проверки уникальности. У кого-нибудь есть пример этого? а может альтернатива?
К сожалению, обновление до SQl Server 2008 не подходит для этого конкретного клиента!
источник