Una colonna di identità in SQL Server si riferisce a una colonna che genera automaticamente un valore numerico univoco per ogni record inserito. Una colonna di identità è molto utile come chiave primaria poiché ogni valore è univoco per ogni riga.
In questa guida, capiremo come utilizzare la proprietà Identity nel server SQL e come possiamo inserire manualmente i valori in una colonna di identità.
SQL Server Identity
La proprietà di identità in una colonna è determinata dal valore del seme iniziale e dall'intero incremento. La sintassi è come mostrata:
Identità (seme, incremento);
Se i parametri di seme e incremento non sono definiti, le impostazioni predefinite di SQL sono valori di 1, 1, rispettivamente.
Le istruzioni di query di esempio illustrano come utilizzare la proprietà Identity SQL Server:
creatotabasetemporary_db;Dovremmo avere una tabella come mostrato:
Si noti che la colonna ID inizia da un valore di 1 e incrementa la riga successiva di 1, come definito dalla proprietà di identità.
SQL SERVER INDENTITY_INSERT
Sebbene la proprietà Identity venga utilizzata per definire una funzione di generazione automatica, è possibile che si desideri modificare manualmente il valore di una colonna di identità.
È qui che entra in gioco il comando Identity_insert.
SQL Server Abilita Identity_insert
Per impostazione predefinita, SQL Server ti impedirà di modificare manualmente i valori di una colonna di identità. Per usarlo, è necessario abilitarlo sulla tabella di destinazione.
Ad esempio, se si tenta di modificare manualmente i valori nella colonna ID dalla tabella di esempio sopra, otterrai un errore come mostrato:
VALORI INSERTINTOSAMPILE_TABLE (ID) (7);Utilizzare la seguente sintassi del comando per attivare o disattivare la funzione Identity_insert:
setIdentity_inserttable_nameon/off;Ad esempio, per attivare Identity_insert per il campione_table creato sopra, possiamo fare:
setIdentity_insertSample_tableon;Una volta abilitato, è possibile inserire i valori nella colonna di identità:
VALORI INSERTINTOSAMPILE_TABLE (ID) (7);SUGGERIMENTO: È possibile impostare solo Identity_insert su una singola tabella per sessione. Se si tenta di abilitare l'inserto di identità in un'altra tabella nella stessa sessione, il server SQL restituirà un errore come mostrato:
Conclusione
La proprietà SQL Server Identity consente di definire una colonna che genera automaticamente i valori numerici in base ai valori di seme e incremento. Tuttavia, come discusso in questo tutorial, è possibile utilizzare la funzione Identity Insert per modificare manualmente i valori di una colonna di identità. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata ad altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.