Creare vincoli univociCreate Unique Constraints

QUESTO ARGOMENTO SI APPLICA A: sìSQL Server (a partire dalla versione 2016)sìDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

È possibile creare un vincolo univoco in SQL Server 2017SQL Server 2017 utilizzando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL per assicurare non vengano immessi valori duplicat nelle colonne specifiche che non partecipano in una chiave primaria.You can create a unique constraint in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL to ensure no duplicate values are entered in specific columns that do not participate in a primary key. La creazione automatica di un vincolo univoco crea un indice univoco corrispondente.Creating a unique constraint automatically creates a corresponding unique index.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Sicurezza Security

Autorizzazioni Permissions

È necessario disporre dell'autorizzazione ALTER per la tabella.Requires ALTER permission on the table.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per creare un vincolo univocoTo create a unique constraint

  1. In Esplora oggettifare clic con il pulsante destro del mouse sulla tabella nella quale aggiungere un vincolo univoco e scegliere Progetta.In Object Explorer, right-click the table to which you want to add a unique constraint, and click Design.

  2. Scegliere Indici/chiavi dal menu Progettazione tabelle.On the Table Designer menu, click Indexes/Keys.

  3. Nella finestra di dialogo Indici/chiavi fare clic su Aggiungi.In the Indexes/Keys dialog box, click Add.

  4. Nella griglia in Generalefare clic su Tipo e selezionare Chiave univoca dall'elenco a discesa a destra della proprietà.In the grid under General, click Type and choose Unique Key from the drop-down list box to the right of the property.

  5. Nel menu File scegliere Salvatable name.On the File menu, click Savetable name.

Utilizzo di Transact-SQL Using Transact-SQL

Per creare un vincolo univocoTo create a unique constraint

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. Nell'esempio viene creata la tabella TransactionHistoryArchive4 e un vincolo univoco sulla colonna TransactionID.The example creates the table TransactionHistoryArchive4 and creates a unique constraint on the column TransactionID.

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

Per creare un vincolo univoco in una tabella esistenteTo create a unique constraint on an existing table

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. Nell'esempio viene creato un vincolo univoco nelle colonne PasswordHash e PasswordSalt della tabella Person.Password.The example creates a unique constraint on the columns PasswordHash and PasswordSalt in the table Person.Password.

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

Per creare un vincolo univoco in una nuova tabellaTo create a unique constraint in an new table

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. Nell'esempio viene creata una tabella e definito un vincolo univoco nelle colonne TransactionID.The example creates a table and defines a unique constraint on the column TransactionID.

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

    Per altre informazioni, vedere ALTER TABLE (Transact-SQL), CREATE TABLE (Transact-SQL) e table_constraint (Transact-SQL).For more information, see ALTER TABLE (Transact-SQL), CREATE TABLE (Transact-SQL), and table_constraint (Transact-SQL).