Questa guida ti insegnerà come ripristinare una colonna di identità in SQL Server, consentendo di ripristinare i valori non configurati in una colonna di identità.
SQL Server Identity
Per aggiungere una colonna di identità a una tabella in SQL Server, utilizzare la query di identità. La sintassi per la query di identità in SQL Server è mostrata:
Identity (seed_value, increment_interval);La query di identità accetta due argomenti:
Per impostazione predefinita, i valori di seme e incremento sono impostati su 1. Quindi, il primo record nella tabella ha un valore di 1 e ogni record aggiunto alla tabella, aggiunto da 1.
Ripristina la colonna Identity in SQL Server
Scopriamo ora come ripristinare una colonna di identità in SQL Server e perché potresti doverlo farlo.
Inizia creando una tabella di esempio e inserendo i dati come mostrato nelle query seguenti:
Crea l'inventario delle tabelle (Ora possiamo interrogare i dati archiviati nella tabella come:
Seleziona * dall'inventario;I record risultanti sono come mostrati:
Notare la colonna ID; Sebbene non abbiamo specificato i valori nella nostra istruzione Insert, la funzionalità di identità genera automaticamente il valore a partire da 1 e continua ad aumentare di un 1 per ogni record che inseriamo.
Perché ripristinare la colonna di identità?
È possibile chiedere se la colonna di identità contiene valori generati automaticamente in un ordine logico specificato, perché devo ripristinare la colonna di identità?
Guarda cosa succede ai dati quando eliminiamo un record dalla tabella:
Elimina dall'inventario dove quantità = 7;La query di esempio sopra dovrebbe rimuovere un record in cui la quantità è uguale a 7.
La tabella ora contiene i record come:
Seleziona * dall'inventario;Nelle colonne ID abbiamo i valori che iniziano da 1 a 6. Tuttavia, manca l'ID di 4. Questo accade quando lasciamo un record dal tavolo.
Per risolvere questo problema, dobbiamo ripristinare la colonna di identità.
Come ripristinare la colonna di identità
Per ripristinare la colonna Identity in SQL Server, utilizziamo la procedura DBCC checkIndent.
La sintassi della procedura è come:
DBCC checkident ('table_name', reseed, new_value);Tuttavia, se ripristiniamo la colonna Identity e proviamo a inserire dati, SQL Server restituisce un errore. Per risolvere questo:
Una query di esempio che implementa i passaggi precedenti è come mostrato:
Seleziona * in New_Inventory dall'inventario;Una volta eseguite correttamente le query, possiamo controllare i dati nella tabella dell'inventario come:
Seleziona * dall'inventario;I record della tabella risultanti sono come mostrati:
Qui, la colonna ID è nell'ordine giusto.
Chiusura
Questa guida copre le basi della funzione di identità in SQL Server e come ripristinare una colonna di identità in caso di errori.