Inserto di identità SQL

Inserto di identità SQL
SQL Server ci fornisce una clausola di identità che consente di creare colonne seriali o di incremento automatico. Se una colonna è impostata come colonna di identità, i suoi valori vengono generati automaticamente man mano che vengono aggiunti nuovi record alla tabella.

Ciò ti fornisce la possibilità di avere un identificatore univoco per ogni colonna senza ispezione manuale del database.

SQL Server Identity

In SQL Server, è possibile creare una colonna di identità come mostrato:

Crea table table_name (
column_name int Identity
);

Il valore della colonna specificato sopra viene generato automaticamente quando si aggiunge un nuovo record.

Considera il semplice esempio mostrato di seguito:

Crea utenti di tabelle (
id int identità,
Nome varchar (255)
);

In circostanze normali, non è necessario specificare il valore di una colonna di identità durante l'inserto dei dati. Come accennato, il valore viene generato automaticamente per ogni inserto record come mostrato:

Inserisci i valori degli utenti (nome) ('Dorothy Michelle');

Quanto sopra dovrebbe inserire il record nella tabella con un valore univoco per la colonna ID. Per esempio:

Si noti che la colonna ID contiene un valore anche se non ne abbiamo specificato uno? Questo è il potere delle colonne di identità.

SQL Server consente l'inserto di identità

Ma cosa succede se si tenta di aggiungere manualmente il valore di una colonna di identità? Per esempio:

Inserisci in utenti (id, nome) valori (2, 'Jeff arty');

La query sopra restituirà un errore come mostrato:

SQL Server impedisce di aggiungere esplicitamente valori a un inserto di identità.

Possiamo risolverlo abilitando la funzione di inserzione Identity in SQL Server.

La sintassi per questo comando è come mostrata:

Imposta Identity_insert Table_name on

Per abilitare l'inserto di identità sulla tabella degli utenti, possiamo eseguire:

Imposta gli utenti Identity_insert;

Per disabilitare l'inserto di identità su una tabella specifica, impostare il valore su.

Colonna di identità reseed di sql

Se si elimina un record dalla tabella, il valore della colonna della sua identità non viene riutilizzato. Ciò può portare a incoerenza e frammentazione nel database.

È possibile sincronizzare la colonna Identity reseeding come mostrato nel comando seguente:

DBCC checkident (table_name, reseed, 1)

La query sopra deve essere reintegrata della colonna di identità della tabella specificata a partire dall'indice 1.

Conclusione

In questo articolo, abbiamo esplorato la colonna Identity nel server SQL e come abilitarla o disabilitarla in una tabella.

Spero che tu abbia trovato questo utile!