Condividi tramite


Creazione e modifica di vincoli UNIQUE

È possibile creare un vincolo UNIQUE come parte della definizione della tabella quando si crea una tabella. Se esiste già una tabella, è possibile aggiungere un vincolo UNIQUE, a condizione che la colonna o la combinazione di colonne di cui è composto il vincolo UNIQUE includa solo valori univoci. Una tabella può includere più vincoli UNIQUE.

Se è già presente un vincolo UNIQUE, è possibile modificarlo o eliminarlo. È possibile, ad esempio, fare in modo che il vincolo UNIQUE della tabella faccia riferimento ad altre colonne oppure modificare il tipo di clustering di indice.

[!NOTA] Per modificare un vincolo UNIQUE, è innanzitutto necessario eliminare il vincolo UNIQUE esistente e quindi ricrearlo con la nuova definizione.

Quando un vincolo UNIQUE viene aggiunto a una o più colonne esistenti nella tabella, per impostazione predefinita i dati esistenti nelle colonne vengono esaminati da Motore di database di SQL Server 2005 per verificare che tutti i valori siano univoci. Se un vincolo UNIQUE viene aggiunto a una colonna che contiene valori duplicati, Motore di database restituisce un errore e il vincolo non viene aggiunto.

In Motore di database viene creato automaticamente un indice UNIQUE per imporre il requisito di univocità del vincolo UNIQUE. Se, pertanto, si tenta di inserire una riga duplicata, in Motore di database viene restituito un messaggio di errore che indica che il vincolo UNIQUE è stato violato e che la riga non verrà aggiunta alla tabella. Se non si specifica in modo esplicito un indice cluster, per impostazione predefinita viene creato un indice univoco non cluster per imporre il vincolo UNIQUE.

L'estratto seguente di un'istruzione CREATE TABLE mostra la definizione della colonna Name, specificando un vincolo UNIQUE su tale colonna per assicurare che i valori siano univoci.

Name nvarchar(100) NOT NULL

UNIQUE NONCLUSTERED

Per rimuovere il requisito di univocità per i valori immessi nella colonna o combinazione di colonne inclusa nel vincolo, eliminare un vincolo UNIQUE. Non è possibile eliminare un vincolo UNIQUE se la colonna associata viene utilizzata come chiave full-text della tabella.

Per creare un vincolo UNIQUE in fase di creazione di una tabella

Per creare un vincolo UNIQUE in una tabella esistente

Per eliminare un vincolo UNIQUE

Per ottenere informazioni sui vincoli UNIQUE

Vedere anche

Concetti

Vincoli UNIQUE

Guida in linea e informazioni

Assistenza su SQL Server 2005