Поделиться через


Создание уникальных ограничений

Вы можете создать уникальное ограничение в SQL Server 2014 с помощью SQL Server Management Studio или Transact-SQL, чтобы не вводить повторяющиеся значения в определенных столбцах, которые не участвуют в первичном ключе. Создание ограничения уникальности автоматически приводит к созданию соответствующего уникального индекса.

В этом разделе

Перед началом работы

Безопасность

Разрешения

Требуется разрешение ALTER для таблицы.

Использование среды SQL Server Management Studio

Создание уникального ограничения

  1. В обозревателе объектов щелкните правой кнопкой мыши таблицу, в которую нужно добавить уникальное ограничение, и нажмите кнопку "Конструктор".

  2. В меню Конструктор таблиц выберите пункт Индексы и ключи.

  3. В диалоговом окне Индексы и ключи нажмите Добавить.

  4. В сетке в разделе "Общие" щелкните "Тип " и выберите "Уникальный ключ " в раскрывающемся списке справа от свойства.

  5. В меню Файл выберите команду Сохранитьимя_таблицы.

Использование Transact-SQL

Создание уникального ограничения

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается таблица TransactionHistoryArchive4, а также создается уникальное ограничение в столбце TransactionID.

    USE AdventureWorks2012;  
    GO  
    CREATE TABLE Production.TransactionHistoryArchive4  
     (  
       TransactionID int NOT NULL,   
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID)   
    );   
    GO  
    
    

Создание уникального ограничения для существующей таблицы

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается ограничение уникальности в столбцах PasswordHash и PasswordSalt в таблице Person.Password.

    USE AdventureWorks2012;   
    GO  
    ALTER TABLE Person.Password   
    ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt);   
    GO  
    
    

Создание уникального ограничения в новой таблице

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается таблица и определяется ограничение уникальности в столбце TransactionID.

    USE AdventureWorks2012;  
    GO  
    CREATE TABLE Production.TransactionHistoryArchive2  
    (  
       TransactionID int NOT NULL,  
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID)  
    );  
    GO  
    
    

    Дополнительные сведения см. в разделе ALTER TABLE (Transact-SQL), CREATE TABLE (Transact-SQL), table_constraint (Transact-SQL).