Уникальное ограничение SQL Server в категории по FK - PullRequest
0 голосов
/ 11 октября 2011

Приведенный ниже код отлично подходит для создания Unique Constraints:

ALTER TABLE <tablename> ADD CONSTRAINT
            <constraintname> UNIQUE NONCLUSTERED
    (
                <columnname>
    )

У меня есть таблица с именем Products, в которой есть FK для другой таблицы с именем Categories. Представьте, что ниже приведен список категорий:

Программное обеспечение

Фильм

Музыка

Здесь мне нужно иметь уникальное ограничение внутри категории для моего столбца ProductName внутри таблицы Products. Например, можно иметь два одинаковых столбца ProductName в другой категории в таблице Products, но не в одной категории.

Я на SQL Server 2008 R2. Есть мысли?

1 Ответ

4 голосов
/ 11 октября 2011

Вы можете добавить несколько столбцов в уникальное ограничение или уникальное определение индекса. Вам нужно составное уникальное ограничение с двумя столбцами ProductName, CategoryId

Пример синтаксиса

ALTER TABLE Products ADD CONSTRAINT some_name 
      UNIQUE NONCLUSTERED(ProductName, CategoryId)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...