Come utilizzare l'inserto di identità SQL Server

Come utilizzare l'inserto di identità SQL Server

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);

  1. Il parametro seed definisce il valore del primo record inserito nella tabella.
  2. L'incremento determina da quale valore dalla riga precedente viene aggiunto.

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;
usetemporary_db;
createtableample_table (
Chiave primaria IDintNotNullIdentity (1,1),
NameVarchar (50),
);
insertItosample_table (nome)
valori ('Abigail Henderson'),
("Peter Miller"),
("Harris Gonzales"),
("Anne Jenkins"),
("Katherine Patterson");
Seleziona * fromsample_table;

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);
[/c] c
La query dovrebbe restituire il successo:
[cc width = "100%" altezza = "100%" sfuggito = "true" tema = "blackboard" nowRap = "0"]
(1 riga interessata)

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.