2015-07-02 2 views
4

В SQL Server я хочу создать столбец в существующей таблице, который должен иметь уникальные атрибуты за одним исключением: «ship». Таблица может содержать ровно одну копию каждого элемента, но когда я вставляю «корабль» снова и снова, это должно быть хорошо. Как я могу это сделать?Уникальный индекс, за исключением одной строки

+2

Вместо Trigger одно решение. – knkarthick24

+1

Я также собирался предложить триггер. –

ответ

7

Создать фильтруется уникальный индекс:

CREATE UNIQUE NONCLUSTERED INDEX IX_YourTable_YourColumn 
ON dbo.YourTable(YourColumn) 
WHERE ItemName <> 'ship' 

Это обеспечивает уникальность для любого значения другого чем ship.

Это работает в SQL Server 2008 и новее

Смежные вопросы