Возможный дубликат:
Как создать уникальное ограничение, которое также допускает ошибки в sql-сервере.
У меня есть таблица, где мне нужно заставить столбец иметь уникальные значения. Этот столбец должен быть нулевым, а по бизнес-логике должно быть разрешено несколько значений NULL, тогда как другие повторяющиеся значения не являются.
Ограничение SQL Server UNIQUE не подходит в этой ситуации, поскольку считает NULL регулярными значениями, поэтому оно будет отклонять дублирующие NULL.
В настоящее время уникальность стоимости предоставляется BLL, поэтому я не ищу грязный хак, чтобы заставить его работать. Я просто хотел бы знать, есть ли чистое решение для принудительного применения этого ограничения в БД.
И да, я знаю, что могу написать триггер для этого: триггер - единственное решение? (или лучшее решение в любом случае?)