Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile definire una chiave primaria in SQL Server 2014 usando SQL Server Management Studio o Transact-SQL. La creazione di una chiave primaria crea automaticamente un indice univoco, raggruppato o non raggruppato corrispondente.
Contenuto dell'articolo
Prima di iniziare:
Per creare una chiave primaria utilizzando:
Prima di iniziare
Limitazioni e restrizioni
In una tabella è possibile includere un solo vincolo PRIMARY KEY.
Tutte le colonne specificate in un vincolo PRIMARY KEY devono essere definite come NOT NULL. Se non viene specificata la nullabilità, per tutte le colonne che partecipano a un vincolo PRIMARY KEY la nullabilità è impostata su NOT NULL.
Sicurezza
Autorizzazioni
La creazione di una nuova tabella con una chiave primaria richiede l'autorizzazione CREATE TABLE nel database e l'autorizzazione ALTER per lo schema in cui viene creata la tabella.
La creazione di una chiave primaria in una tabella esistente richiede l'autorizzazione ALTER per la tabella.
Uso di SQL Server Management Studio
Per creare una chiave primaria
In Esplora oggetti fare clic con il pulsante destro del mouse sulla tabella a cui si desidera aggiungere un vincolo univoco e scegliere Progettazione.
In Progettazione tabelle fare clic sul selettore di riga per la colonna di database che si desidera definire come chiave primaria. Se si desidera selezionare più colonne, tenere premuto CTRL mentre si fa clic sui selettori di riga per le altre colonne.
Fare clic con il pulsante destro del mouse sul selettore di riga per la colonna e selezionare Imposta chiave primaria.
Attenzione
Per ridefinire la chiave primaria, sarà necessario eliminare tutte le relazioni alla chiave primaria esistente prima di poterne creare una nuova. Verrà visualizzato un messaggio di avviso in cui si notificherà che nel corso del processo le relazioni esistenti verranno eliminate automaticamente.
Una colonna chiave primaria è contrassegnata da un simbolo di chiave primaria nel corrispondente selettore di riga.
Se una chiave primaria è composta da più colonne, è consentita la presenza di valori duplicati in una colonna ma è comunque richiesta l'univocità delle combinazioni di valori tratti da tutte le colonne nella chiave primaria.
Se si definisce una chiave composta, l'ordine delle colonne nella chiave primaria corrisponderà all'ordine delle colonne come visualizzate nella tabella. È comunque possibile modificare l'ordine delle colonne dopo la creazione della chiave primaria. Per altre informazioni, vedere Modifica chiavi primarie.
Uso di Transact-SQL
Per creare una chiave primaria in una tabella esistente
In Esplora oggetti, collegarsi a un'istanza di Database Engine.
Sulla barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. Nell'esempio viene creata una chiave primaria nella colonna
TransactionID.USE AdventureWorks2012; GO ALTER TABLE Production.TransactionHistoryArchive ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID); GO
Per creare una chiave primaria in una nuova tabella
In Esplora oggetti, collegarsi a un'istanza di Database Engine.
Sulla barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. Nell'esempio viene creata una tabella e viene definita una chiave primaria nella colonna
TransactionID.USE AdventureWorks2012; GO CREATE TABLE Production.TransactionHistoryArchive1 ( TransactionID int NOT NULL, CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID) ); GOPer altre informazioni, vedere ALTER TABLE (Transact-SQL), CREATE TABLE (Transact-SQL)e table_constraint (Transact-SQL).